该函数没有返回值,要随机生成一个1-X之间的整数,数字通过键盘输入,直到猜对才能结束游戏;程序中要使用异常处理结构,避免非法输入造成程序异常。限定猜数次数为5次。

代码如下:

import random  # 导入 random 模块,用于生成随机数


def guess_number(x):
    # random.randint(a, b)是一个random模块中的函数,用于生成一个在闭区间[a, b]内的随机整数。
    target_number = random.randint(1, x)
    attempts = 0  # 初始化猜数次数为0
    max_attempts = 5  # 设置最大猜数次数为5

    while attempts < max_attempts:  # 当猜数次数小于最大猜数次数时执行循环
        attempts += 1  # 每次循环猜数次数加1
        try:
            # 提示用户输入一个1到x之间的整数,并根据剩余机会次数显示在提示信息中
            guess = int(input("请猜一个1到{}之间的整数(还剩{}次机会):".format(x, max_attempts - attempts + 1)))

        except ValueError:  # 捕获输入不是整数的异常
            print("输入无效,请输入一个整数。")  # 输出输入无效的提示信息
            continue  # 继续下一次循环

        if guess == target_number:  # 如果猜测的数字等于目标数字
            print("恭喜你,猜对了!")  # 输出猜对的提示信息
            return  # 结束函数的执行
        elif guess < target_number:
            print("猜的数字太小了!")
        else:
            print("猜的数字太大了!")

    print("很遗憾,你没有在{}次猜数机会内猜对。正确答案是{}。".format(max_attempts, target_number))


guess_number(100)  # 调用函数开始猜数游戏,传入范围参数x

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值