|
发表于 2023-10-9 23:28:46
|
显示全部楼层
代码如下:
- import random
- # 定义猜数字游戏函数
- def guess_number(player1, player2):
- # 初始化计数器和猜测数字列表
- count = 0
- guessed_numbers = []
-
- # 随机生成一个数字
- target_number = random.randint(1, 12)
-
- # 游戏开始
- while True:
- # 判断当前是哪个玩家猜测
- if count % 2 == 0:
- current_player = player1
- else:
- current_player = player2
-
- # 输出当前玩家的名字
- print("轮到玩家 {} 猜测".format(current_player))
-
- # 玩家猜测数字
- for i in range(3):
- guess = int(input("请输入一个数字(1-12):"))
-
- # 判断数字是否已经猜过
- if guess in guessed_numbers:
- print("数字 {} 已经猜过了,请重新输入".format(guess))
- continue
-
- # 将猜测数字加入列表中
- guessed_numbers.append(guess)
-
- # 判断猜测是否正确
- if guess == target_number:
- print("恭喜玩家 {} 猜对了!".format(current_player))
- return current_player
-
- # 判断猜测是否偏大或偏小
- if guess > target_number:
- print("数字偏大了")
- else:
- print("数字偏小了")
-
- # 判断是否达到4次猜测
- if count == 3:
- if target_number % 2 == 0:
- print("提示:目标数字是偶数")
- else:
- print("提示:目标数字是奇数")
-
- # 判断是否达到6次猜测
- if count == 5:
- print("游戏结束,没有人猜对")
- return None
-
- # 计数器加1
- count += 1
-
- # 询问是否继续游戏
- choice = input("是否继续游戏?(Y/N)")
- if choice == "N":
- print("游戏结束")
- return None
- # 主程序
- if __name__ == "__main__":
- player1 = input("请输入玩家1的名字:")
- player2 = input("请输入玩家2的名字:")
-
- # 调用猜数字游戏函数
- winner = guess_number(player1, player2)
-
- # 判断是否有获胜者
- if winner is not None:
- print("恭喜玩家 {} 获胜!".format(winner))
- else:
- print("游戏结束")
复制代码
解释:
1. 首先定义了一个猜数字游戏的函数 guess_number ,该函数接受两个玩家的名字作为参数。
2. 在函数内部,使用一个 while 循环来控制游戏的进行。在每一次循环中,判断当前是哪个玩家猜测,并输出其名字。
3. 玩家猜测数字时,使用一个 for 循环来让其最多可以猜测三次。在每一次猜测时,首先判断玩家输入的数字是否已经猜过,如果已经猜过则要求其重新输入。然后将猜测数字加入一个列表中,用于判断是否已经猜过。接着判断猜测是否正确,如果正确则输出恭喜信息并返回获胜者的名字。如果猜测错误,则输出偏大或偏小的提示信息。
4. 在每一次猜测后,判断是否达到了4次猜测。如果达到了,则判断目标数字是奇数还是偶数,并输出相应的提示信息。
5. 在每一次猜测后,判断是否达到了6次猜测。如果达到了,则输出游戏结束的信息,并返回 None。
6. 在每一次猜测后,询问玩家是否要继续游戏。如果玩家选择退出,则输出游戏结束的信息,并返回 None。
7. 在主程序中,首先要求用户输入两个玩家的名字,然后调用猜数字游戏函数。如果有获胜者,则输出恭喜信息,否则输出游戏结束的信息。 |
|