Python 3数字猜谜游戏

时间:2018-06-04 00:57:48

标签: python-3.x numbers

我创建了一个简单的数字猜谜游戏,但每次我没有输入数字时系统崩溃。有人可以帮忙!

chmod 644 <filename>

3 个答案:

答案 0 :(得分:1)

我快速查看了你的代码,其中一个突出的是,在第10行,你将输入转换为int而不检查输入是否确实是int。

答案 1 :(得分:0)

系统崩溃是因为Python在输入强制转换时无法将字符强制转换为整数。您应该明确地写一个条件来检查字符,即如果输入字符串是除数字之外的任何内容,则代码应该打印类似“再试一次”“无效输入”

import random

randNum = random.randint(1, 100)
guesses = 0

for i in range(1, 8):
    guesses = guesses + 1
    print("hi human guess a number 1-100! \n")
    guess = input()

    if guess.isdigit():
        if int(guess) > randNum:
            print("your guess is too high \n")

        elif int(guess) < randNum:
            print("your guess is too low \n")

        elif int(guess) == randNum:
            print("duuude you're a genius \n")
            print("you needed " + str(guesses) + " guesses")

    else:
        print("Invalid Input! Try a number. \n")

试试这段代码。我希望它有所帮助。并从下次尝试上传代码而不是图像。 ; - )

答案 2 :(得分:0)

import random

def game():
    computer = random.randint(1, 10)
    # print(computer)
    user = int(input("Please guess a number between 1-10: "))
    count = 0



    while count < 5:
        if computer > user:
            count += 1
            print("You guessed too low!")
            print("You have used " + str(count) + "/5 guesses")
            user = int(input("Please guess a number another number!: "))

        elif computer < user:
            count += 1
            print("You guessed too high!")
            print("You have used " + str(count) + "/5 guesses")
            user = int(input("Please guess a number another number: "))
        else:
            print("YOU WON!!")
            again = input("Would you like to play again?")
            if again in["n", "No", "N", "no"]:
                break
            elif again in["y", "Yes", "Y", "yes"]:
                pass
                game()
        if count == 5:
            print("Bummer, nice try...the number was actually " + str(computer) + "!")
            again = input("Would you like to play again?")
            if again in["n", "No", "N", "no"]:
                break
            elif again in["y", "Yes", "Y", "yes"]:
                pass
                game()
            else:
                print("I'm sorry that's an invalid entry! Restart the game to try again!")

game()
相关问题