猜数字小游戏python

364 阅读2分钟

原文:

import random

def play_game():
    secret_number = random.randint(1, 100)
    attempts = 0

    print("欢迎参加猜数字游戏!")
    print("我已经想好了一个1到100之间的数字,你来猜猜看吧!")

    while True:
        try:
            guess = int(input("请输入你猜的数字:"))
        except ValueError:
            print("请输入一个有效的数字!")
            continue

        attempts += 1

        if guess < secret_number:
            print("猜错了,数字太小了!")
        elif guess > secret_number:
            print("猜错了,数字太大了!")
        else:
            print(f"恭喜你,猜对了!你猜了{attempts}次。")

            play_again = input("是否继续玩?(输入 'yes' 继续,输入其他任意字符退出) ")
            if play_again.lower() == "yes":
                secret_number = random.randint(1, 100)
                attempts = 0
                print("我已经想好了一个新的数字,请继续猜!")
            else:
                print("谢谢参与,游戏结束!")
                break

play_game()
```
```
  **解释**:
```
import random
```
 这行代码导入了Python的random模块,我们可以使用其中的函数来生成随机数。
 ```
def play_game():
    secret_number = random.randint(1, 100)
    attempts = 0
```
  秘密数字等于随机数字范围是1100之间,不包括数字1100
  Attempts是用来记录猜测的次数
  ```
print("欢迎参加猜数字游戏!")
    print("我已经想好了一个1到100之间的数字,你来猜猜看吧!")
```
  这两行代码显示了游戏的欢迎信息和规则
```
while True:
        try:
            guess = int(input("请输入你猜的数字:"))
        except ValueError:
            print("请输入一个有效的数字!")
            continue
````
  while`循环会一直运行直到玩家猜中正确数字或输入无效数字。
  try-except`块用来捕捉玩家输入的值,如果输入不是一个有效的整数就会出现valueError异常
  然后显示"请输入一个有效的数字!" 继续下一个循环
  ```
attempts += 1
```
  表示尝试的次数增加一次
  ```
 if guess < secret_number:
            print("猜错了,数字太小了!")
        elif guess > secret_number:
            print("猜错了,数字太大了!")
        else:
            print(f"恭喜你,猜对了!你猜了{attempts}次。")
```
  比大小 如果猜测的数字小于秘密数字就显示"猜错了,数字太小了!"
        如果猜测大于秘密数字就显示"猜错了,数字太大了!"
        如果猜测正确,显示"恭喜你,猜对了!你猜了{attempts}次。"
        ```
 play_again = input("是否继续玩?(输入 'yes' 继续,输入其他任意字符退出) ")
            if play_again.lower() == "yes":
                secret_number = random.randint(1, 100)
                attempts = 0
                print("我已经想好了一个新的数字,请继续猜!")
            else:
                print("谢谢参与,游戏结束!")
                break
```
  猜对数字后,询问玩家是否继续游戏。输入“yes”重新生成新的秘密数字并重置猜测次数。
  输入其他任意字符就显示"谢谢参与,游戏结束!"并跳出循环,结束游戏。
  ```
play_game()
```
  调用`play_game()`函数,开始运行猜数字游戏。