如何用空白输入(str)结束while循环

2024-10-01 13:40:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个程序,你可以添加字符串到一个列表。例如“苹果”。它将它们按字母顺序排序,并在空输入上结束循环

我试过expect valueErrors和SyntaxError,它们都不适用于string。 我也尝试过if(str(input)==Null),但是没有像id所期望的那样工作

try:
    ostos = []

    while True:
        ostos.append(str(input("Lisää listalle:")))
        print("Listalla on", len(ostos), "riviä:")
        ostos.sort()
        print(ostos)

except:
    print(ostos)

这就像是在列表中输入一样。它将把苹果、香蕉和橘子列入名单。按字母顺序排列每个输入。它会以一个空的输入结束

Lisälistalle:苹果 利斯塔拉1里瓦: 苹果 Lisälistalle:橙色 Listalla 2 riviä: 苹果、橘子 listalle:香蕉 Listalla 3里维埃: 苹果、香蕉、橘子 利斯塔勒: Listalla 3 riviä:“空” 苹果、香蕉、橘子


Tags: 字符串程序苹果列表input字母print香蕉
3条回答

您也可以不使用if就这样做。你知道吗

ostos = []

s = input("Lisää listalle:")
while s:
    ostos.append(s)
    print("Listalla on", len(ostos), "riviä:")
    ostos.sort()
    print(ostos)

    s = input("Lisää listalle:")

也许这会有帮助:

ostos = []

while True:
    string = str(input("Enter something:  "))
    if string != '':
        print("You entered blank")
        break
    else:
        ostos.append(string)
        continue

这也适用于:

if len(string) == 0: break

第一个简单地检查用户输入是否为空,如果用户按enter,则为空。第二个检查输入字符串的长度是否为0,只有用户按enter键时才会发生这种情况。你知道吗

您应该检查传递的字符串是否为空并中断循环:

ostos = []

while True:
    s = input("Lisää listalle:")
    if not s:  # check that s is not empty
        break   # break loop if is empty
    ostos.append(s)
    print("Listalla on", len(ostos), "riviä:")
    ostos.sort()
    print(ostos)

相关问题 更多 >