def main():
import random
guesslist = []
ErrorTol = 5
guessesTaken = 0
print("|--------------------------------------------------------------------|")
print("| |")
print("|--------------------------------------------------------------------|")
print("| WELCOME! Please enter your name to begin this guessing game |")
print("|--------------------------------------------------------------------|")
print("| |")
print("|--------------------------------------------------------------------|")
myName = input()
again = ""
while again != "q":
number = random.uniform(-300, 300)
print('Well, ' + myName + ', I am thinking of a number between -300 and 300.')
while guessesTaken < 3:
print("Take a guess.")
guess = input()
guess = int(guess)
guesslist.append(guess)
guessesTaken = guessesTaken + 1
if guess < number:
print('Your guess is too low.')
if guess > number:
print('Your guess is too high.')
if guess == number or (abs(number - guess) <= ErrorTol):
break
if guess == number or (abs(number - guess) <= ErrorTol):
guessesTaken = guessesTaken
print('Good job, ' + myName + '! You guessed my number in ' + str(guessesTaken) + ' guesses!')
print("numbers you guessed:", guesslist)
else:
number = int(number)
print('Nope. The number I was thinking of was ' + str(number))
again = input("Hit 'q' to quit the program or any other keys to play the game again.").lower()[0]
main()
我不能让程序正常循环,我不知道我做错了什么!当我猜不出正确的数字时,我应该可以按任意键再试一次,也可以按q键再试一次,但当我按任何其他键时,它都不会正常循环。再说一遍,我不知道这个代码有什么问题。你知道吗
在检查键是否不等于q时,必须重置猜测量。我将您的代码放入另一个方法,只是更好的设计! 祝你好运!你知道吗
您不会将
guessesTaken
重置为零,这样您的程序就好像用户已经进行了三次猜测一样。尝试以下操作:相关问题 更多 >
编程相关推荐