我花了好几个小时在这上面工作,以为我搞错了。在
任务是
编写一个计算你的学期平均成绩和字母成绩的程序
*******用户将输入这些数字:*****
测验分数列表。每个分数在0-10之间。用户输入sentinel值-1结束输入。放弃最低测验分数。*
项目得分列表。每个分数在0-10之间。用户输入senti-nel值-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")
以下是打印输出需要的外观
^{pr2}$不幸的是,我没有考虑到这样一个事实:他可能希望在一个循环中,没有50个if语句,也没有指定每个测验,他希望它在哨兵进入之前一直计数。但我不知道怎么做?如何通过循环存储每次的信息,以便获得所需的输出?在
所以是的,我有点迷路了,任何方向都很有帮助,我在挣扎。谢谢各位。在
你不想有固定数量的测验或项目。相反,对每种类型的分数都使用循环,这样你就可以一直询问,直到用户没有更多的分数可以输入为止。在
我不打算把整件事都写给你,但有一种方法可以处理测验:
你还有其他方法可以做到。你可以保持一个循环,而不是更新一个循环的分数。你还需要记录到目前为止你看到的最小的分数,这样你就可以从最后的总和中减去最低的分数。在
如果将输入存储为整数,则可能需要一个dict。你应该这样做:
每次你都会检查是否需要退出,而且你也会有一个相当直观的方式来访问数据。在
如果您继续用python编程(比如generators,list comprehension,map)
你可以尝试这样的方法:(可以简化,但为了清晰起见…)
编辑:更改生成器,使-1不添加到列表中
相关问题 更多 >
编程相关推荐