0
try:
    num = int(input("Give me an integer between 1 and 100:"))
    while num > 100 or num < 1:
        print ("Sorry, that is not an integer between 1 and 100. Try again.")
        num = int(input("Give me an integer between 1 and 100:"))
except:
    print ("Sorry, that is not an integer between 1 and 100. Try again.")
else:
    print ("Thank you for your input")

「pear」や「sd23214」などの入力を入力した場合に「Sorrytryagain」も出力するようにPythonに指示するにはどうすればよいですか?ありがとうございました。

4

2 に答える 2

3

whileすべてをループでラップするだけです

while True:
    try:
        num = int(input("Give me an integer between 1 and 100:"))
        if num > 100 or num < 1:
            print ("Sorry, that is not an integer between 1 and 100. Try again.")
            continue
    except ValueError:
        print ("Sorry, that is not an integer between 1 and 100. Try again.")
    else:
        print ("Thank you for your input")
        break

ほとんどの人はおそらくelseここで句を使用しないでしょう

while True:
    try:
        num = int(input("Give me an integer between 1 and 100:"))
        if num > 100 or num < 1:
            raise ValueError
        print ("Thank you for your input")
        break
    except ValueError:
        print ("Sorry, that is not an integer between 1 and 100. Try again.")
于 2012-12-04T00:37:40.183 に答える
1

これは(私の意見では)それを行うためのより良い/より簡単な方法です:

while True:
    try:
        num = int(input("Enter an integer between 1 and 100: "))
        if type(num) != int or num not in range(1, 101): #second argument is exclusive
            raise ValueError
        else:
            print("Thank you.")
            break
    except ValueError:
        print("Input must be an integer within 1 and 100. Try again.")

を使用するrangeよりも、を使用する方が良い方法ですif num > 101 or num < 1

于 2012-12-04T00:47:06.837 に答える