【发布时间】:2015-03-26 01:21:36
【问题描述】:
所以,我有一个程序,我正在完成,但我显然遇到了问题。在程序中,每当我在输入中输入 0 时,程序都会停止并打印结果。这是我继续说其他内容之前的程序:
import collections
students = collections.defaultdict(list)
while True:
student = input("Enter a name: ").replace(" ","")
if student == "0":
print ("A zero has been entered(0)")
break
if not student.isalpha():
print ("You've entered an invalid name. Try again.")
continue
while True:
grade = input("Enter a grade: ").replace(" ","")
if grade == "0":
print ("A zero has been entered(0)")
break
if not grade.isdigit():
print ("You've entered an invalid name. Try again.")
continue
grade = int(grade)
if 1 <= grade <= 10:
students[student].append(grade)
break
for i, j in students.items():
print ("NAME: ", i)
print ("LIST OF GRADES: ", j)
print ("AVERAGE: ", round(sum(j)/len(j),1))
我想出了一种方法,如何在 "Enter a name: " 部分输入 0 后让程序停止并发布结果。这是打印出来的:
Enter a name: Stacy
Enter a grade: 8
Enter a name: 0
A zero has been entered(0)
NAME: Stacy
LIST OF GRADES: [8]
AVERAGE: 8.0
我需要对"Enter a grade: " 部分做同样的事情,但如果我尝试让程序像现在这样,它会打印出来:
Enter a name: Stacy
Enter a grade: 0
A zero has been entered(0)
Enter a name:
如何让程序显示结果,就像在名称输入中输入 0 时一样?
【问题讨论】: