pan11 发表于 2023-10-3 20:29:28

python for loops

要求:
1.想让两个人轮流玩猜数字游戏
2.轮到他们的时候叫他们的名字
3.游戏结束当他们每个人各三次的机会用完了或者其中一个人答对了
4.4次下来还没有人猜对时给出提示数字是奇数还是偶数
5.每次猜测都告诉他们偏大还是偏小了

isdkz 发表于 2023-10-3 20:29:47

可以使用Python中的for循环和条件语句来实现这个游戏。

以下是实现的代码:

import random

# 定义玩家的名字
player1 = "张三"
player2 = "李四"

# 定义猜数字的范围
start_num = 1
end_num = 20

# 定义计数器和提示数字的变量
count = 0
odd_or_even = ""

# 循环让两个玩家轮流猜数字
for i in range(6):
    # 判断轮到哪个玩家
    if i % 2 == 0:
      player_name = player1
    else:
      player_name = player2
      
    # 让玩家猜数字
    guess = int(input(player_name + "请猜一个" + str(start_num) + "-" + str(end_num) + "之间的数字:"))
   
    # 判断是否猜对了
    if guess == random.randint(start_num, end_num):
      print(player_name + "猜对了!")
      break
    else:
      # 判断猜的数字是偏大还是偏小
      if guess < random.randint(start_num, end_num):
            print("猜小了!")
      else:
            print("猜大了!")
      
      # 计数器加一
      count += 1
      
      # 判断是否到了提示奇偶数的次数
      if count == 4:
            # 判断提示的数字是奇数还是偶数
            if random.randint(start_num, end_num) % 2 == 0:
                odd_or_even = "偶数"
            else:
                odd_or_even = "奇数"
            print("提示:这个数字是" + odd_or_even)
            count = 0


代码中使用了一个计数器 count 来记录猜测次数,当猜测次数达到4次时,就会给出提示数字是奇数还是偶数,并将计数器重置为0。如果其中一个玩家猜对了,就会跳出循环,游戏结束。

陶远航 发表于 2023-10-3 20:30:24

根据您的要求,我为您编写了一个简单的 Python 程序,实现了两个人轮流玩猜数字游戏的功能。以下是代码:

import random

def main():
    target_number = random.randint(1, 100)
    players = [\"玩家1\", \"玩家2\"]
    chances = {player: 3 for player in players}
    round_number = 1

    while sum(chances.values()) > 0:
      for player in players:
            if chances > 0:
                print(f\"{player},轮到你了!\")
                guess = int(input(\"请输入你猜的数字(1-100):\"))

                if guess == target_number:
                  print(f\"恭喜 {player} 猜对了!游戏结束。\")
                  return
                elif guess < target_number:
                  print(\"猜小了!\")
                else:
                  print(\"猜大了!\")

                chances -= 1

                if round_number == 4 and sum(chances.values()) == 0:
                  parity = \"偶数\" if target_number % 2 == 0 else \"奇数\"
                  print(f\"提示:数字是{parity}。\")

      round_number += 1

    print(\"三次机会已用完,游戏结束。\")

if __name__ == \"__main__\":
    main()


这个程序实现了以下功能:

1. 两个人轮流玩猜数字游戏。
2. 轮到他们的时候叫他们的名字。
3. 游戏结束当他们每个人各三次的机会用完了或者其中一个人答对了。
4. 四次下来还没有人猜对时给出提示数字是奇数还是偶数。
5. 每次猜测都告诉他们偏大还是偏小了。

您可以将这段代码复制到 Python 环境中运行,体验游戏过程。
如果问题已经解决,请设置最佳答案

Mike_python小 发表于 2023-10-3 20:30:24

猜数字游戏

以下是一个 Python 程序,实现了您所描述的猜数字游戏。游戏中有两名玩家轮流猜测一个随机生成的数字。每个玩家有三次猜测机会,如果四轮过后仍然没有人猜对,将给出数字是奇数还是偶数的提示。每次猜测后,程序会告诉玩家猜测的数字偏大还是偏小。


import random

def guess_number_game(player1, player2):
    target_number = random.randint(1, 100)
    attempts = {player1: 0, player2: 0}
    round_number = 1

    while attempts < 3 and attempts < 3:
      for player in :
            print(f\"{player} 的回合:\")
            guess = int(input(\"请输入一个1到100之间的整数:\"))

            attempts += 1

            if guess == target_number:
                print(f\"恭喜 {player} 猜对了!\")
                return
            elif guess < target_number:
                print(\"猜测的数字偏小了。\")
            else:
                print(\"猜测的数字偏大了。\")

            if round_number == 4 and attempts == 3:
                if target_number % 2 == 0:
                  print(\"提示:目标数字是偶数。\")
                else:
                  print(\"提示:目标数字是奇数。\")

      round_number += 1

    print(f\"游戏结束。正确的数字是 {target_number}。\")

player1 = input(\"请输入第一个玩家的名字:\")
player2 = input(\"请输入第二个玩家的名字:\")
guess_number_game(player1, player2)


将上述代码复制到 Python 环境中运行,按照提示输入玩家名字,即可开始游戏。游戏会在满足结束条件时自动结束,并显示正确的数字。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
本段回答来自Chat GPT-4,如有错误,多多包涵!
页: [1]
查看完整版本: python for loops