猜数字游戏python 1. 异常处理,增加程序健壮性。请用异常处理改造猜数字游戏,使其输入的不是整数(如宇母、浮点数等)时,不再出错終止,而是给出”输入内容必须为整数!^的提示 ,并让用户重新输入。 2. 增加程序灵活性。为了方便修改生成随机数的范围 ,将猜数字的最小值和最大值设为变量并进行統一设置。设置猜数字的最大次数,猜错后提示还有几次机会。 3. 改善用户体验。当用户没猜对时,根据猜数情況缩小猜解范围 ,以方便用户下次猜数。例如用户猜的数字为70,比实际数字大,那么就提示”@数宇区问0-70,请输入你猜的数宇”;如果比实际数宇小 ,就提示"@数字区间70-100,请输入你猜的数宇:
时间: 2024-02-21 22:58:49 浏览: 116
好的,下面是改进后的代码:
```python
import random
min_num = 1 # 猜数字的最小值
max_num = 100 # 猜数字的最大值
max_guess = 5 # 最大猜测次数
number = random.randint(min_num, max_num)
for i in range(max_guess):
try:
guess = int(input("请在{}-{}之间猜一个数字:".format(min_num, max_num)))
except ValueError:
print("输入内容必须为整数!")
continue
if guess == number:
print("恭喜你,猜对了!")
break
elif guess < number:
print("猜小了!还有{}次机会。".format(max_guess - i - 1))
if guess > min_num:
min_num = guess + 1
print("@数字区间{}-{}。".format(min_num, max_num))
else:
print("猜大了!还有{}次机会。".format(max_guess - i - 1))
if guess < max_num:
max_num = guess - 1
print("@数字区间{}-{}。".format(min_num, max_num))
else:
print("很遗憾,你没有猜对,正确答案是{}。".format(number))
```
这段代码首先定义了三个变量,分别表示猜数字的最小值、最大值和最大猜测次数。然后通过 `random` 模块生成一个随机整数 `number`。接着进入一个 `for` 循环,每次通过 `input` 函数获取用户猜测的数字,并使用 `try-except` 语句进行异常处理,如果用户输入的不是整数,则给出提示并让用户重新输入。
如果用户猜对了,则输出“恭喜你,猜对了!”并跳出循环。如果猜错了,则根据猜测情况缩小猜解范围,并输出相应的提示。同时,还要判断是否达到最大猜测次数,如果达到则输出“很遗憾,你没有猜对,正确答案是 xxx。”。
阅读全文