我已经为此工作了几个小时,以为我已经把它记下来了,但事实证明我全错了。
任务是
编写一个程序来计算该课程的学期平均成绩和字母成绩
*****用户将输入这些数字:*****
这是我的代码
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(使用前将#替换为@)