根据分糖果的选手版,编写一个人机版的版本,计算机每次选择的糖果数满足 如果剩余的糖果数大于4,电脑选择4-X颗糖果,其中X是上一轮选手选择的糖果数。 如果剩余的糖果在2到4之间,电脑选择的糖果数可以使得场上剩下的糖果数为1。 如果只剩下1颗糖果,那只能选择1颗糖果并失败。
时间: 2023-05-29 09:01:30 浏览: 70
以下是一个可能的人机版实现:
import random
def play_game():
total_candies = 20
while total_candies > 0:
# 计算电脑能够选择的糖果数
if total_candies > 4:
comp_candies = 4 - player_candies
elif total_candies > 1:
comp_candies = total_candies - 1
else:
print("只剩下1颗糖果了,电脑选择失败。")
return
# 让电脑选择糖果
print("现在场上有 {} 颗糖果,请你选择多少颗:".format(total_candies))
player_candies = input()
try:
player_candies = int(player_candies)
except ValueError:
print("输入的不是一个整数,请重新输入。")
continue
if player_candies <= 0 or player_candies > 3:
print("你只能选择 1 到 3 颗糖果,请重新选择。")
continue
# 更新场上糖果数量
total_candies -= player_candies + comp_candies
if total_candies <= 0:
print("恭喜你,你赢了!")
return
print("电脑选择了 {} 颗糖果。".format(comp_candies))
print("你好,欢迎来玩分糖果游戏!")
while True:
print("输入 Y 开始游戏,或者输入 N 退出游戏:")
choice = input().lower()
if choice == "y":
play_game()
elif choice == "n":
print("再见!")
break
else:
print("请输入 Y 或者 N。")