Python:如何检查一个数字是否在范围内,如果没有让用户输入新的数字?

2024-04-29 14:43:31 发布

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

我首先要求用户输入一个数字,然后运行try/except块。我现在想检查一下这个数字是否在1-9之间。在

如果不是,我希望它检查int,然后检查它是否在范围内。在

以下是我目前所掌握的情况:

def getInt(low, high):
    start = 0
    while start == 0:
        try:
            num = input("Enter a number for your calculation in range of 1- 9: ")
            num = int(num)
            start = 1
            asdf = 0
            while asdf == 0:
                if num > 9 or num < 0:
                    print("Error: Please only enter numbers between 1-9")
                else:
                    asdf = +1
                    return num
        except:
            print("Error: Please only enter numbers")

# main
TOTAL_NUMBERS = 2
LOW_NUMBER = 1
HIGH_NUMBER = 9

num1 = getInt(LOW_NUMBER, HIGH_NUMBER )
print(num1)
num2 = getInt(LOW_NUMBER, HIGH_NUMBER )
print(num2)

Tags: number数字errorstartnumintlowprint
3条回答

也许你需要这个:

def getInt(low, high):
    while True:
        try:
            num = int(input("Enter a number for your calculation in range of 1- 9: "))
        except ValueError:
            print("Error: Please only enter numbers")
            continue

        if num not in range(1, 10):
            print("Error: Please only enter numbers between 1-9")
        else:
            return num
def getInt(low, high):
    while True: # Keep asking until we get a valid number
        try:
            numStr = raw_input("Enter a number for your calculation in range of {0} - {1}: ".format(low, high) )
            if numStr.isdigit():
                num = int(numStr)
                if num <= high and num >= low:
                    return num
        except: # Field left empty
            pass

getInt(1, 9)

你可以替换

print("Error: Please only enter numbers between 1-9")

^{pr2}$

或者搬家

num = input("Enter a number for your calculation in range of 1- 9: ")
num = int(num)

进入while循环,以便在用户输入超出范围的数字时再次调用它

相关问题 更多 >