python小题目练习(六)
需求:编写一个猜数字的小游戏,随机生成1到10(包含1和10)之间的数字作为基准数,玩家每次通过键盘输入一个数字,
如果输入的数字跟基准数相同,则闯关成功,否则重新输入,如果玩家输入的是-1,则表示退出游戏
代码展示:
"""
Author:mll
Content:猜数字游戏
Date:2020-11-16
需求:编写一个猜数字的小游戏,随机生成1到10(包含1和10)之间的数字作为基准数,玩家每次通过键盘输入一个数字,
如果输入的数字跟基准数相同,则闯关成功,否则重新输入,如果玩家输入的是-1,则表示退出游戏
"""
from random import randint
print('=======猜数字游戏=======')
base_num = randint(1, 10) # 利用random下randint函数随机生成1-10之间的一个数
num_input = int(input('请输入1-10之间任意的一个数:') ) # 定义num_input来接收用户输入
flag = True # 定义一个标志标量,当条件满足时一直循环,条件不满足时,更改它的值,跳出循环
while flag:
if num_input == base_num:
print('恭喜你,你赢了,猜中的数字是:', num_input)
print('=======游戏结束=======')
break
elif 1 <= num_input < base_num:
num_input = int(input('太小,请重新输入:'))
elif base_num < num_input <= 10:
num_input = int(input('太大,请重新输入:'))
elif num_input == -1:
flag = False
else:
num_input = int(input('你输入的数字不符合规则,请重新输入:'))
截图展示:
运行结果展示:

总结:代码中break语句跟把flag值置为False实现效果一致,randint(1,10)表示前后都包括在内,
range(1,10)是包前不包后,比如我生成包括1到10的一个数字序列,那就是range(1, 11)

浙公网安备 33010602011771号