Acu*_*Acu 5 python printing zero
所以,我有一个程序,我正在完成,但我显然遇到了问题.在程序中,我必须在输入中输入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))
Run Code Online (Sandbox Code Playgroud)
我找到了一种方法,如何在程序中输入0后停止并发布结果"Enter a name: ".这是打印出来的:
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
Run Code Online (Sandbox Code Playgroud)
我需要对部件做同样的事情,"Enter a grade: "但如果我尝试使程序像现在一样,这就是打印出来的:
Enter a name: Stacy
Enter a grade: 0
A zero has been entered(0)
Enter a name:
Run Code Online (Sandbox Code Playgroud)
如何在程序输入中输入0时,程序显示结果?
在您的输入之一中,检查输入是否为 0。如果是,请调用sys.exit。这可以在任何地方完成,甚至在检查成绩时也是如此。只需确保包含两个选项(字符串 0 和整数 0)。另外,它仍然这样说的原因A zero has been entered(0)是因为你只是退出一个循环,然后基本上从头开始。
# Be sure to import sys!
random_place = input("Whatever is here ")
if random_place == '0' or random_pace == 0:
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
然后你的程序就会退出。
| 归档时间: |
|
| 查看次数: |
925 次 |
| 最近记录: |