Python猜测游戏拒绝无效的用户输入

Python猜测游戏拒绝无效的用户输入,python,Python,我正在学习我的第一个Python类,和大多数Python类一样,最后一个任务是创建一个1-100的猜谜游戏,跟踪有效尝试的次数。我在stackoverflow上找不到的元素是如何拒绝无效的用户输入。用户输入必须是完整的,介于1和100之间的正数字。我可以让系统拒绝除0之外的所有内容,我的导师帮我解决了这个问题。我发帖是为了不让那个给我打分的人知道。这是我们想到的。我发布它是为了帮助任何未来的Python学习者解决这个特殊的拒绝用户输入问题 谢谢你们这么快就发帖了!即使我需要教练的帮助,如果没有你

我正在学习我的第一个Python类,和大多数Python类一样,最后一个任务是创建一个1-100的猜谜游戏,跟踪有效尝试的次数。我在stackoverflow上找不到的元素是如何拒绝无效的用户输入。用户输入必须是完整的,介于1和100之间的正数字。我可以让系统拒绝除0之外的所有内容,我的导师帮我解决了这个问题。我发帖是为了不让那个给我打分的人知道。这是我们想到的。我发布它是为了帮助任何未来的Python学习者解决这个特殊的拒绝用户输入问题

谢谢你们这么快就发帖了!即使我需要教练的帮助,如果没有你的洞察力,我会显得更加无能。现在我真的可以享受我的假日周末了。有一个伟大的阵亡将士纪念日周末

import random
x = random.randint(1,100)

print("I'm thinking of a number from 1 to 100.")
counter = 0

while True:
    try:        
        guess = input("Try to guess my number: ")
        guess = int(guess) 
        if guess < 1 or guess > 100:
            raise ValueError()
        counter += 1
        if guess > x:
            print(guess, "is too high.")
        elif guess < x:
            print(guess, "is too low.")
        else:
            print(guess, "is correct! You guessed my number in", counter, "tries!")
            break
    except ValueError:
        print(guess, "is not a valid guess")

查看Try,以及如果Try失败如何处理它。用户将传递一个单词,您尝试将其转换为int,如果转换失败,您将给出一个输入无效的输出。应首先执行intguess的可能重复。如果失败,它就不是一个整数。然后,您只需检查其是否小于1或大于100,这很容易,因为它已被转换为整数。与其单独考虑猜测无效的所有情况,不如尝试创建一个单一的测试来确定猜测是否有效。
import random
x = random.randint(1,100)

#  Prompt user for input
print("I'm thinking of a number from 1 to 100")
counter = 0

while True:
    guess = input("Try to guess my number: ")
    try:
        guess = int(guess)
        if(100 > guess > 0):
            counter += 1
            guess = int(guess)
            #  Begin playing
            if guess > x:
                print(guess, "is too high.")
            elif guess < x:
                print(guess, "is too low.")
            else:
                print(guess, "is correct! You guessed my number in", counter, "tries!")
                break
        else:
            print("Number not in range between 0 to 100")
    except:
        print("Invalid input")
#  Generate random number
import random
x = random.randint(1,100)

#  Prompt user for input
print("I'm thinking of a number from 1 to 100")
counter = 1   


while True:
    try:
        guess = int(input("Try to guess my number: "))
        if guess > 0 and guess < 101:
            print("That's not an option!")
        #  Begin playing
        elif guess == x:
            print(guess, "is correct! You guessed my number in", counter, "tries!")
            break
        elif guess > x:
            print(guess, "is too high.")
        elif guess < x:
            print(guess, "is too low.")
        else:
            counter += 1        
    except:
        print("That's not a valid option!")
import random
x = random.randint(1,100)

print("I'm thinking of a number from 1 to 100.")
counter = 0

while True:
    try:        
        guess = input("Try to guess my number: ")
        guess = int(guess) 
        if guess < 1 or guess > 100:
            raise ValueError()
        counter += 1
        if guess > x:
            print(guess, "is too high.")
        elif guess < x:
            print(guess, "is too low.")
        else:
            print(guess, "is correct! You guessed my number in", counter, "tries!")
            break
    except ValueError:
        print(guess, "is not a valid guess")