【一】需求介绍
- 设定好用户年龄,用户通过输入猜测的年龄进行匹配
- 最大尝试次数:用户最多尝试猜测3次
- 最大尝试次数后:如3次后,问用户是否还想继续玩
- 如果回答Y或y,就再给3次机会,提示【还剩最后三次机会】
- 3次都猜错的话游戏结束
- 如果回答N或n,游戏结束!
- 如果格式输入错误,提示【输入格式错误,请重新输入:】
- 如果猜对了,游戏结束!
【二】功能分析
- 设定年龄
- 猜测次数
- 回答正确
- 程序结束
- 回答错误
- 回答 y 程序重新启动
- 回答 n 程序结束
【三】代码实现
【1.0】只实现用户输入校对
- 只保留下最基础的用户 输入年龄并进行年龄比对的功能
# 【1】设定年龄
true_age = 18
# 【2】用户输入年龄
age_input = input("请输入年龄 :>>>> ")
# 【3】对输入的内容进行判断(默认输入的是数字)
# input输入的是字符串类型,无法与数字进行匹配,所以强转数据类型
age_input = int(age_input)
if age_input == true_age18:
print(f"你真棒,猜对了!")
elif age_input > true_age:
print(f"不好意思哦!猜大了!")
elif age_input < true_age:
print(f"不好意思哦!猜小了!")
else:
print(f"意料之外的错误哦!")
【2.0】增加尝试次数
# 【1】设定年龄
true_age = 18
# 【2】设定尝试次数(最多尝试3次)和初识尝试次数(1)
can_choice = 3
count = 1
# 【3】设置循环 --- 计数次数小于额定次数 为 True 循环进行,否则循环结束
while count <= can_choice:
# 【4】每尝试一次,循环次数 + 1 (可尝试次数 - 1 )
count += 1
# 【5】用户输入年龄
age_input = input("请输入年龄 :>>>> ")
# 【6】对输入的内容进行判断(默认输入的是数字)
# input输入的是字符串类型,无法与数字进行匹配,所以强转数据类型
age_input = int(age_input)
if age_input == true_age:
print(f"你真棒,猜对了!")
break
elif age_input > true_age:
print(f"不好意思哦!猜大了!")
elif age_input < true_age:
print(f"不好意思哦!猜小了!")
else:
print(f"意料之外的错误哦!")
【3.0】增加重试机制
# 【1】设定年龄
true_age = 18
# 【2】设定尝试次数(最多尝试3次)和初识尝试次数(1)
can_choice = 3
count = 1
# 【3】设置循环 --- 计数次数小于额定次数 为 True 循环进行,否则循环结束
while count <= can_choice:
# 【4】每尝试一次,循环次数 + 1 (可尝试次数 - 1 )
count += 1
# 【5】用户输入年龄
age_input = input("请输入年龄 :>>>> ")
# 【6】对输入的内容进行判断(默认输入的是数字)
# input输入的是字符串类型,无法与数字进行匹配,所以强转数据类型
age_input = int(age_input)
if age_input == true_age:
print(f"你真棒,猜对了!")
break
elif age_input > true_age:
print(f"不好意思哦!猜大了!")
elif age_input < true_age:
print(f"不好意思哦!猜小了!")
else:
print(f"意料之外的错误哦!")
# 【7】增加重试机制 : 输入 Y 将尝试次数重置为1,否则直接退出
if count == can_choice + 1:
age_input = input("请输入是否继续尝试(Y/N) :>>>> ")
if age_input == 'Y' or age_input == 'y':
print(f"欢迎再次尝试!祝您成功!")
count = 1
elif age_input == 'N' or age_input == 'n':
print(f"感谢您的尝试!下次再会!")
break
else:
print(f"意料之外的错误哦!")
break
【四】参考代码
"""前期编写代码 先不要考虑代码的优化 能实现功能即可"""
'''前期编写代码一定要先用中文写出步骤,之后翻译成python代码'''
# TODO:写任何业务 都应该先搭建主体功能 之后再考虑配套优化
# 1.定义真实的年龄
real_age = 18
# 7.定义一个记录用户猜测次数的计数器
guess_count = 1
# 5.将需要反复执行的代码缩进到while子代码中
while True:
# 9.判断当前用户到底猜测了几次
if guess_count == 4:
# 10.提示用户已经尝试了三次 是否继续尝试
is_again = input('您已经尝试了三次 是否继续(y/n)>>>:')
# 11.判断用户是否继续
if is_again == 'y':
# 12.重置用户尝试的次数
guess_count = 1
else:
# 13.直接结束循环
print('下次记得来玩哟!!!')
break
# 2.获取用户猜测的年龄
guess_age = input('请输入猜测的年龄>>>:')
# 3.将字符串类型的数字转换成整型类型的数字
guess_age = int(guess_age) # 该代码可能会报错 暂且忽略
# 4.比较猜测的年龄和真实年龄
if guess_age > real_age:
print('哎呀 讨厌 猜大了')
guess_count += 1 # 8.猜错了就应该自增依次
elif guess_age < real_age:
print('不好意思 没那么小')
guess_count += 1 # 8.猜错了就应该自增依次
else:
print('哈哈哈 你真棒!!!')
# 6.一旦猜对了 立刻结束循环
break
标签:count,age,小游戏,print,input,年龄,true,输入
From: https://www.cnblogs.com/dream-ze/p/17857400.html