我这样做的但是最后只能输一次我知道,怎么弄成就是题目要求可以多次输入的然后回车结束?
while True:
score = input("请输入成绩(整数):")
try:
score = int(score)
if score < 0 or score > 100:
print("输入成绩有误,请输入0至100之间的成绩")
elif score >= 85:
print("优秀")
elif score >= 75:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
except ValueError:
print("输入成绩有误,请输入整数")
else:
break
最外层使用一个循环,比如:
while True:
score = input("请输入成绩(整数):")
try:
# 类型转换,非数字则发生异常
score = int(score)
你的if代码
except err:
print("请输入整数")
else:
break
最外层加个While True
我猜你想要这样的:
while True:
a = input("请输入成绩 (整数):")
if not a: # 如果用户直接回车不输入数据,结束循环
break
try:
a = float(a)
if a < 0 or a > 100:
print("输入成绩错误,请输入 0 至 100 之间的成绩。")
elif 100 >= a >= 85:
grade = "优秀"
print(f"{grade}")
elif 85 > a >= 75:
grade = "良好"
print(f"{grade}")
elif 75 > a >= 60:
grade = "及格"
print(f"{grade}")
elif 60 > a:
grade = "不及格"
print(f"{grade}")
except ValueError:
print("输入错误,请输入数字。")
【2】这也是一个方法,这是输入q回车结束的代码:
while True:
a = input("请输入成绩 (整数),输入 q 退出程序:")
if a == "q":
break
else:
a = float(a)
if a < 0 or a > 100:
print("输入成绩错误,请输入 0 至 100 之间的成绩。")
elif 100 >= a >= 85:
print("优秀")
elif 85 > a >= 75:
print("良好")
elif 75 > a >= 60:
print("及格")
elif 60 > a:
print("不及格")
可以使用while循环和input函数结合的方式实现输入一直进行,直至回车结束。具体代码如下:
text = ''
while True:
line = input()
if line == '':
break
text += line
print(text)
在这段代码中,首先定义了一个空字符串 text 来存储输入的内容。然后使用一个无限循环来不断获取用户输入的内容,通过判断每次输入的是否为空来决定是否结束输入。如果输入为空,就退出循环,并打印出所有输入的内容。