原文:
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
```
秘密数字等于随机数字范围是1到100之间,不包括数字1和100
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()`函数,开始运行猜数字游戏。