Python案例之猜数字

案例主要要求是在一定范围内生成一个随机数,的用户可以自行决定游戏难度并且猜错了会有猜大了或是猜小了的提醒。用户必须在规定次数内猜出数字否者挑战失败。

这里我们要考虑到如果用户输入了一个非数字报错的情况,我们采用异常处理的方法来让用户进行重新输入。

如下生成随机数:

#引入生成随机数的模块

import random

#程序设定生成 1-20 之间的一个随机数

num = random.randint(1,20)

如下进行异常处理:

        try:  # 这里使用异常判断,若用户输入的不为数字则重新输入并且扣除一次机会
            num_guess = int(input("请入您猜的数字为:"))
        except ValueError:
            count += 1
            print(f"只能输入数字哦!还有{max_times - count}次数!")
        else:

具体代码如下:

import random
def guess_num(max_times=3, max_value=100):
    num = random.randint(0, max_value) # 生成随机数
    count = 0    #count用来记录已猜次数
    while (count < max_times): # 构建while循环,循环条件为已猜次数小于最大错误次数
        try: # 这里使用异常判断,若用户输入的不为数字则重新输入并且扣除一次机会
            num_guess = int(input("请入您猜的数字为:"))
        except ValueError:
            count += 1
            print(f"只能输入数字哦!还有{max_times - count}次数!")
        else:
            if num_guess < num:
                count += 1
                print(f"小了哦!还有{max_times - count}次数!")
                continue # 继续循环,返回到while循环最开始
            elif num_guess > num:
                count += 1
                print(f"大了哦!还有{max_times - count}次数!")
                continue # 继续循环,返回到while循环最开始
            else:
                print("恭喜!猜对了!")
                break # 若猜对了退出while循环
    if count == max_times: # 若在规定的次数内未猜对打印下方内容
        print("很遗憾机会用尽!挑战失败!") 
if __name__ == "__main__":
    max_times = int(input("请输入最大错误次数为:"))  # 用户输选择难度即最大错误次数
    max_value = int(input("请输入最大数字为:"))  # 选择猜数字的范围
    guess_num(max_times=max_times, max_value=max_times) # 调用guess_num函数并进行传参

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My_YueR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值