我怎样才能使计算机在这个程序中做出更好的猜测?

  • 本文关键字:更好 程序 计算机 python
  • 更新时间 :
  • 英文 :

print("tWelcome to 'Guess My Number'!")
print("I'm thinking of a number between 1 and 100.nTry to guess is in as few attempt as possible.")
import random
number = random.randrange (1, 100) #This creates a random # from 1 to 100
guess = 0 #This helps initiate the while loop
while guess != number: #While the guess does not equal the random number
guess = int(input("nTake a guess: "))
if guess <number:
print("Player guess higher...")
elif guess >number:
print("Player guess lower...")
else:
guess == number
print(f"nGame over! The number was {number} The Player Wins!")
break
computer_guess = random.randrange (1, 100)#This makes the computer make a new guess every turn...
if computer_guess <number:
print(f"nThe computer guesses {computer_guess}")
print("Computer guess higher...")
elif computer_guess >number:
print(f"nThe computer guesses {computer_guess}")
print("Computer guess lower...")
else:
computer_guess == number
print(f"nGame over! The number was {number} The Computer Wins!")
break


input("nPress Enter to Exit")

#我必须添加什么才能使这台计算机做出更好的猜测-到目前为止,它还不能用当前的代码做出真正好的猜测任何建议都会很有帮助!#我不知道还能添加什么所以这里有一个额外的行和一些额外的文本

由于用户可以查看计算机猜测的内容,因此可以添加一些额外的变量来跟踪用户的高猜测和低猜测以及计算机猜测的结果。以下是对代码的增强,通过减少猜测范围,为计算机的猜测提供更多的智能。

print("tWelcome to 'Guess My Number'!")
print("I'm thinking of a number between 1 and 100.nTry to guess is in as few attempt as possible.")
import random
number = random.randrange (1, 100) #This creates a random # from 1 to 100
guess = 0 #This helps initiate the while loop
comp  = 1  # This will hold the computer's last guess
user  = 1  # This will hold the user's last guess
floor = 1  # This will be adjusted to reduce the lowest guess for the computer
top   = 99 # This will be adjusted to reduce the highest guess for the computer
while guess != number: #While the guess does not equal the random number
guess = int(input("nTake a guess: "))
user  = guess  # Store the user's latest guess
if guess <number:
print("Player guess higher...")
if (comp < user):
comp = top
elif guess >number:
print("Player guess lower...")
if (comp > user):
comp = floor
else:
guess == number
print(f"nGame over! The number was {number} The Player Wins!")

break
if (comp <= user):
computer_guess = random.randrange (comp, user)
else:
computer_guess = random.randrange (user, comp)

comp = computer_guess   # Store the computer's latest guess
if computer_guess <number:
print(f"nThe computer guesses {computer_guess}")
print("Computer guess higher...")
floor = comp  # Adjust the low range 
elif computer_guess >number:
print(f"nThe computer guesses {computer_guess}")
print("Computer guess lower...")
top = comp    # Adjust the high end range
else:
computer_guess == number
print(f"nGame over! The number was {number} The Computer Wins!")

break

可能还可以添加一些其他测试来降低计算机的猜测范围,但这为计算机偶尔获胜提供了一点更好的优势。

希望对你有帮助。

致意。

保持程序对用户和计算机公平的唯一方法是,当用户在预轮之后看到猜测结果时,在下一轮中从前一轮的新范围中选择数字(小于或大于预猜),因此对于计算机也应该编写如下代码

print("tWelcome to 'Guess My Number'!")
print("I'm thinking of a number between 1 and 100.nTry to guess is in as 
few attempt as possible.")
import random
down=1
up=100
number = random.randrange (1, 100) #This creates a random # from 1 to 100
guess = 0 #This helps initiate the while loop
while guess != number: #While the guess does not equal the random number
guess = int(input("nTake a guess: "))
if guess <number:
print("Player guess higher...")
elif guess >number:
print("Player guess lower...")
else:
guess == number
print(f"nGame over! The number was {number} The Player Wins!")
break
computer_guess = random.randrange (down, up)#This makes the computer 
make a new guess every turn...
if computer_guess <number:
print(f"nThe computer guesses {computer_guess}")
print("Computer guess higher...")
down=computer_guess
elif computer_guess >number:
print(f"nThe computer guesses {computer_guess}")
print("Computer guess lower...")
up=computer_guess

else:
computer_guess == number
print(f"nGame over! The number was {number} The Computer Wins!")
break


input("nPress Enter to Exit")

,而且最好是第一次创建随机数,然后开始游戏,而不是每一轮

相关内容

最新更新