input一直输入直至回车结束如何做到

我这样做的但是最后只能输一次我知道,怎么弄成就是题目要求可以多次输入的然后回车结束?

img


这是我写的代码

img

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

我猜你想要这样的:

img

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 来存储输入的内容。然后使用一个无限循环来不断获取用户输入的内容,通过判断每次输入的是否为空来决定是否结束输入。如果输入为空,就退出循环,并打印出所有输入的内容。