我创建了一个简单的数字猜谜游戏,但每次我没有输入数字时系统崩溃。有人可以帮忙!
chmod 644 <filename>
答案 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()