【发布时间】:2018-03-29 21:17:34
【问题描述】:
已经为此工作了几个小时,以为我把它搞砸了,但事实证明我错了。
任务是
编写一个程序,计算你的学期平均成绩和课程的字母成绩
************用户将输入这些数字:******
测验分数的列表。每个分数都在 0-10 的范围内。用户输入标记值 –1 以结束输入。放弃最低的测验分数。*
项目分数的列表。每个分数都在 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 语句,也没有指定每个测验,他希望它在输入哨兵之前计算多长时间。但我不知道该怎么做?如何每次通过循环存储信息,以便获得所需的输出?
所以是的,我有点迷路了,任何方向都非常有帮助,我正在努力。多谢你们。
【问题讨论】:
标签: python while-loop store sentinel