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)
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例源代码