如何在Python中存储while循环和sentinel的结果?

2024-05-22

我已经为此工作了几个小时,以为我已经把它记下来了,但事实证明我全错了。

任务是

编写一个程序来计算该课程的学期平均成绩和字母成绩

*****用户将输入这些数字:*****

  • A list测验分数。每个分数的范围为 0-10。用户输入哨兵值–1来结束输入。降低测验的最低分数。*

  • A list的项目分数。每个分数的范围为 0-10。用户输入标记值 –1 结束输入。不要降低最低的项目分数。*

  • 两次期中考试成绩。每个分数的范围为 0–100*

  • 期末考试成绩。每个分数的范围是 0-100。”

这是我的代码

    qsum = 0
    psum = 0
    count = 0

while True:
    q1 = float(input("Quiz #1 ----- "))
    if q1 < 0:
        break
    qsum = qsum + q1
    lowest = q1
    q2 = float(input("Quiz #2 ----- "))
    if q2 < 0:
        break
    qsum = qsum + q2
    if lowest > q2:
        lowest = q2
    q3 = float(input("Quiz #3 ----- "))
    if q3 < 0:
        break
    qsum = qsum + q3
    if lowest > q3:
        lowest = q3
    q4 = float(input("Quiz #4 ----- "))
    if q4 < 0:
        break
    qsum = qsum + q4
    if lowest > q4:
        lowest = q4
    q5 = float(input("Quiz #5 ----- "))
    if q5 < 0:
        break

print("Quiz #1 ----- ",q1)
print("Quiz #2 ----- ",q2)
print("Quiz #3 ----- ",q3)
print("Quiz #4 ----- ",q4)
print("Quiz #5 ----- ",q5)

while True:
        p1 = float(input("Program #1 -- "))
        if p1 < 0:
            break
        psum = psum + p1
        p2 = float(input("Program #2 -- "))
        if p2 < 0:
            break
        psum = psum + p2
        p3 = float(input("Program #3 -- "))
        if p3 < 0:
            break
    #and so on#

if 90 <= total <= 100:
    print("Grade ------ A")
if 80 <= total < 90:
    print("Grade ------ B")
if 70 <= total < 80:
    print("Grade ------ C")
if 60 <= total < 70:
    print("Grade ------ D")
if 0 <= total < 60:
    print("Grade ------ F")

这是打印输出需要的样子

Quiz #1 ----- 10
Quiz #2 ----- 9.5
Quiz #3 ----- 8
Quiz #4 ----- 10
Quiz #5 –---- -1
Program #1 -- 9.5
Program #2 -- 10
Program #3 -- 9
Program #4 -- -1
Exam #1 ----- 85
Exam #2 ----- 92
Final Exam -- 81
Average ----- 89.4
Grade ------- B

不幸的是,我没有想到这样一个事实:他可能希望这一切都在一个循环中,没有五十个 if 语句,并且没有指定每个测验,他希望它在进入哨兵之前计算多久。但我不知道该怎么做?我如何每次通过循环存储信息以便获得所需的输出?

所以是的,我有点迷失了,任何方向都非常有帮助,我在挣扎。多谢你们。


您不希望有固定数量的测验或项目。相反,对每种类型的分数使用循环,这样您就可以继续询问,直到用户不再有任何分数可供输入。

我不会为您写出全部内容,但这是处理测验的一种方法:

quiz_scores = []

while True:
    score = int(input("Quiz #{} ----- ".format(len(quiz_scores)+1)))
    if score == -1:
        break
    quiz_scores.append(score)

quiz_total = sum(quiz_scores) - min(quiz_scores) # add up the scores, dropping the smallest

您还有其他方法可以做到这一点。例如,您可以跟踪在循环中更新的运行总和,而不是构建分数列表。您还需要记录迄今为止所看到的最小分数,以便您可以从最后的总和中减去最低分数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中存储while循环和sentinel的结果? 的相关文章

  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • 下载 PyQt6 的 Qt Designer 并使用 pyuic6 将 .ui 文件转换为 .py 文件

    如何下载 PyQt6 的 QtDesigner 如果没有适用于 PyQt6 的 QtDesigner 我也可以使用 PyQt5 的 QtDesigner 但是如何将此 ui 文件转换为使用 PyQt6 库而不是 PyQt5 的 py 文件
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 在循环中每次迭代开始时将变量重新分配给原始值(在循环之前定义)

    在Python中 你使用 在每次迭代开始时将变量重新分配给原始值 在循环之前定义 时 也就是说 original 1D o o o for i in range 0 3 new original 1D revert back to orig
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • AJAX 是如何工作的?

    AJAX的本质是什么 例如 我想在我的页面上有一个链接 这样当用户单击此链接时 一些信息就会发送到我的服务器 而无需重新加载当前页面 那是阿贾克斯吗 我能够通过使用 isoframe 来实现这种行为 更详细地说 我在一个小 isoframe
  • Android 应用程序因 Firebase 电话身份验证而崩溃

    我正在使用 firebase 进行电话号码身份验证 当我使用我的电话号码时 它会自动验证它 但是当我使用另一个电话号码时 我得到类转换异常 它说 getGoogleApiForMethod 返回 Gms stackoverflow上也有类似
  • 如何创建具有不同“产品模块名称”和“产品名称”的项目并将其模块导入另一个项目?

    我尝试执行问题中描述的任务但失败了 重现步骤 Create new workspace WS Create new Cocoa Touch Framework set Product Name Product in Choose optio
  • 无法连接到 SMTP 服务器

    我有一个支持邮件的服务器 比如说example com 我配置了服务器并通过cpanel添加了MX记录 这样我就可以通过outlook com有地址 email protected cdn cgi l email protection MX
  • KDoc:插入代码片段

    如何在 Kotlin 的默认文档工具 KDoc 中插入代码片段 在 Java 中 我可以使用以下内容 Example usage pre code 64 JavaAnnotation public void foo Code code pr
  • Material-ui :从主题中提取颜色

    我想使用我的颜色material ui像这样的组件内的主题 const MyComponent props gt
  • Android:如何在多语言资源中重用字符串

    自从我的第一个 Android 项目以来 这个问题一直困扰着我 考虑以 en 作为默认值的多语言字符串资源 res values strings xml lt The default language en res values de st
  • 滚动或滑动窗口迭代器?

    我需要一个可在序列 迭代器 生成器上迭代的滚动窗口 又名滑动窗口 默认的 Python 迭代可以被视为一种特殊情况 其中窗口长度为 1 我当前正在使用以下代码 我怎样才能更优雅和 或更有效地做到这一点 def rolling window
  • 使用Nodejs、Express和AngularJS在浏览器中显示IP

    我正在学习 Nodejs 和 ExpressJS 我正在尝试使用 ExpressJS 和 2 个节点模块 请求IP https www npmjs com package request ip and geoip2 https www np
  • SQL Server 每年的第一个星期一

    如何使用 T SQL 查找 一年中的第一个星期一 这是 ngruson 发布的链接中的示例 http sqlbump blogspot nl 2010 01 first monday of year html http sqlbump bl
  • 如何修复 jq 扁平化 JSON 数组的重复输出

    我正在尝试使用 jq 命令压平 JSON 文件 但输出是重复的 请在这里查看我的jqplay https jqplay org s gwvMIH fed https jqplay org s gwvMIH fed 我的输入 JSON cos
  • 2D 网格的纹理贴图

    我有一组点 x y meshgrid 1 N 1 M 在常规二维上定义 N x M网格 我还有另一组要点 u v 这是原始网格的一些变形 即 u v f x y 但是我没有实际的f导致变形 如何将纹理映射到由定义的 变形 网格u v 即 给
  • 强制 Firefox 在 img.src 更改后重新加载图像

    我正在修改画布上的一些图像 然后将这些图像的 src 设置为新的 Base64 编码图片 img src changeColor img 更改颜色返回 base64 编码图像 return canvas toDataURL Chrome 和
  • 是否可以在 C/C++ 中模仿 Go 接口?

    在 Go 中 如果类型具有接口定义的所有方法 则可以将其分配给该接口变量 而无需显式继承它 是否可以在 C C 中模仿此功能 是的 您可以使用纯抽象类 并使用模板类来包装 实现 抽象类的类型 以便它们扩展抽象类 这是一个简单的示例 incl
  • 更新匿名方法内的 ref 参数

    是否有解决方法可以更新匿名方法内的 ref 参数 我知道匿名方法不允许访问外部作用域的 ref 参数 但是还有其他方法可以做到这一点吗 我正在使用 MessageStream 的外部库 因此无法更改委托的参数 void DoWork ref
  • 如何从 Python 中的请求处理程序内部关闭 HTTPServer?

    当我收到 StopIteration 异常时 如何关闭该服务器 sys exit 不起作用 usr bin env python from BaseHTTPServer import BaseHTTPRequestHandler HTTPS
  • Swift 在调试和发布模式下的行为不同

    不确定这是否是 Swift XCode 或 Alamofire 的问题 但我认识到我的混合 Swift Objc 应用程序中不同地方的奇怪行为 它只发生在用 Swift 编写并使用闭包 网络的部分 这是发生这种情况的示例代码 Alamofi
  • StreamWriter 错误字符

    遇到一个问题 streamwriter 在我正在生成的 csv 中生成错误的字符 那些角色 仅出现在文件的开头 5 GEN 555555555 Evan Smith email protected cdn cgi l email prote
  • Pywinauto 如何获取返回元素的列表

    我正在使用具有自定义堆栈面板的 WPF 应用程序 它基本上是一个列表 列表中的项目完全相同 因此我无法选择特定文本来唯一标识元素 其他一些值 例如时间 是动态的 有没有办法让我获得返回的元素列表 我知道这是可能的 因为抛出了错误 Eleme
  • 如何在Python中存储while循环和sentinel的结果?

    我已经为此工作了几个小时 以为我已经把它记下来了 但事实证明我全错了 任务是 编写一个程序来计算该课程的学期平均成绩和字母成绩 用户将输入这些数字 A list测验分数 每个分数的范围为 0 10 用户输入哨兵值 1来结束输入 降低测验的最