因此,我是python的新手,我面临着这个挑战:我必须在我和计算机之间制作Guess the Number游戏。所以这就是我目前为止的位置。
import random
the_number = random.randint(1, 4)
guess = 0
print(the_number)
while guess != the_number:
guess = int(input("Please enter a number: "))
if guess > the_number:
print("Player guess lower...\n")
elif guess < the_number:
print("Player guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Player wins!")
break
guess = random.randint(1, 100)
if guess > the_number:
print("Computer guess lower...\n")
elif guess < the_number:
print("Computer guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Computer wins!")
break
print("Thank you for playing")
我想知道如何做到这一点,直到我们中的一个人是对的时才停止?
答案 0 :(得分:2)
# Import random library
import random
# Assign random value between 1-100
secret_number = random.randint(1, 100)
# get the user guess
guess = int(input("Guess the secret number between 1-100: "))
# Loop untill guess not equal to secret number
while guess != secret_number:
if guess < secret_number:
print("Sorry, your guess is too low.")
else:
print("Sorry, your guess is too high.")
# guess the number again
guess = int(input("Guess the secret number between 1-100: "))
# This statement will execute after coming out of while loop
print("You guessed the number!")
答案 1 :(得分:0)
您可以执行以下操作使计算机更智能。
import random
the_number = random.randint(1, 4)
guess = 0
print(the_number)
minPossible = 0
maxPossible = 100
while guess != the_number:
guess = int(input("Please enter a number: "))
if guess > the_number:
print("Player, guess lower...\n")
if guess < maxPossible:
maxPossible = guess - 1
elif guess < the_number:
print("Player, guess higher...\n")
if guess > minPossible:
minPossible = guess + 1
else:
print("Game Over! The number was", the_number, "The Player wins!")
break
guess = random.randint(minPossible, maxPossible)
if guess > the_number:
print("Computer, guess lower...\n")
maxPossible = guess - 1
elif guess < the_number:
print("Computer, guess higher...\n")
minPossible = guess + 1
else:
print("Game Over! The number was", the_number,"The Computer wins!")
print("Thank you for playing")
答案 2 :(得分:0)
您的问题是while循环末尾的break
语句。代码在循环中循环了一次,然后break
结束了循环。
答案 3 :(得分:0)
您在第27行break
上遇到的错误。将其移动到 else:
下或删除。
实际上,第27行break
是不必要。
因此,最终代码将如下所示:
import random
the_number = random.randint(1, 4)
guess = 0
print(the_number)
while guess != the_number:
guess = int(input("Please enter a number: "))
if guess > the_number:
print("Player guess lower...\n")
elif guess < the_number:
print("Player guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Player wins!")
break
guess = random.randint(1, 100)
if guess > the_number:
print("Computer guess lower...\n")
elif guess < the_number:
print("Computer guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Computer wins!")
print("Thank you for playing")
答案 4 :(得分:0)
要获得所需的输出,您只需要稍微调整一下代码,计算机的if语句中的break
就不会出现else循环,因此无论如何它将停止执行。
要解决此问题,可以将break
移动到else
块内。这样,只有在CPU或您正确猜测正确的数字时,程序才会中断。
我想指出的另一件事是,您正在程序中打印选择号,如果这是一个猜谜游戏,不是应该在代码的后端。通过输入打印的数字,您可以在第一次迭代中赢得比赛。
只是要指出,您的程序正在选择(1, 4)
中的数字,但是计算机已设置为猜测(1, 100)
中的数字。
如果正确,请在答案上打勾。
修改后的代码是-
import random
the_number = random.randint(1, 4)
guess = 0
while guess != the_number:
guess = int(input("Please enter a number: "))
if guess > the_number:
print("Player guess lower...\n")
elif guess < the_number:
print("Player guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Player wins!")
break
guess = random.randint(1, 4)
if guess > the_number:
print("Computer guess lower...\n")
elif guess < the_number:
print("Computer guess higher...\n")
else:
print("Game Over! The number was", the_number,"The Computer wins!")
break
print("Thank you for playing")