首页 > 解决方案 > 如果输入不是数字则需要停止

问题描述

插入单词时我的代码不会在第 9-10 行停止,我希望它仅在输入数字时继续

from cs50 import get_int

numbers = []

while True:

    number = get_int("number: ")

    if not number:   #  here  #
        break        #  here  #

    if number not in numbers:
        numbers.append(number)

print()
for number in numbers:
    print(number)

如果输入不是数字则需要停止

标签: pythonpython-3.6

解决方案


您可以在循环中解析输入字符串是否为数字while True,如果不是数字,则中断循环,否则继续询问。

numbers = []

while True:

    #Ask for input
    s = input("number: ")
    number = 0

    #Try to parse the string as a number, if you cannot, break the loop
    try:
        number = int(s)
    except:
        break

    #If you can parse the string as a number, add it to the list
    numbers.append(number)

print(numbers)

样本输出将是

number: 123
number: 456
number: 789
number: abc
[123, 456, 789]

推荐阅读