第5期-猜数字

1 问题描述

制作一个满足如下功能的猜数游戏:

  • 计算机随机生成一个100以内的正整数;
  • 用户通过键盘输入数字,猜测计算机所生成的随机数。
  • 限定用户的输入次数,如限定用户只能猜测五次,五次未成功,游戏结束

2 解题思路

首先,计算机随机生成整数,需要引入生成随机数的模块random
其次,定义函数,设置计算机生成数的范围及用户输入数字的次数
最后,用input函数获取用户输入的数字,并用if语句判断大小

3 解题方法

复制代码
print("这是一个猜数字游戏,你可以输入1到100之间的数字,但只有5次机会")

from random import randint

def guess (start, end, maxTime):
    value = randint(start, end)

    for i in range(maxTime):
        prompt = '开始猜吧,请输入一个整数:' if i == 0 else '再猜一次:'

        try:
            guessNum = int(input(prompt)) 
            if guessNum == value:
                print("恭喜你,猜对啦!")
                break
            elif guessNum > value:
                print("你猜的太大了!")
            else:
                print("你猜的太小了!")

        except:
            print("请输入整数")
    else:
        print("很遗憾,游戏结束")
        print("正确答案是:",value, "继续努力吧~")

guess(1, 100, 5)
View Code
复制代码

第1行: 简要介绍猜数字游戏的规则
第3行: 从生成随机数的模块random引入randint函数
第4行: 定义函数guess,传入参数start, end和maxTime
第5行: 创建变量value, 用randint函数确定计算机生成随机数的取值范围
第8行: 使用for循环控制最大猜测次数,次数用完还未猜对,则转到第23行,结束循环
第9行: 创建变量prompt, 如果用户输入的次数i为0,prompt为“开始猜吧,请输入一个整数:”;如果用户输入的次数i不为0,prompt为“再猜一次:”
第11行: 运用try...except异常处理结构,防止用户输入的不是整数,如果try块中的代码引发异常,就执行第21行except块中的代码
第12行: 创建变量guessNum,用input函数获取用户输入的数值,并用int函数将其转化为整型
第13-19行: 用if...elif...else语句判断用户输入数值的大小,若刚好等于计算机设定的数值,则打印"恭喜你,猜对啦!",并用break退出整个循环;若大于或小于计算机设定的数值,则分别打印输出"你猜的太大了!"或"你猜的太小了!"
第27行: 调用函数guess, 并为start, end和maxTime这三个参数分别赋值为1,100,5

 

 

posted @   LG03  阅读(213)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示