Python是一门需要不断实践练习的编程语言,本文档将AI大学堂学员交流群的Python每周练习进行汇总,希望各位小伙伴能够多进行实践练习,逐渐爱上这门神奇的编程语言,掌握它并在生活中能够使用它。

# 第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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

第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

# 4 视频解析

高清视频讲解,请查看AI大学堂Python基础实战100例 (opens new window)
关注『讯飞AI大学堂』公众号,发送 python100 即可领取Python基础实战100例源代码
AI大学堂公众号.png

更新于: 12/28/2021, 7:43:14 AM