时间: 2020-11-25|66次围观|0 条评论

python自学了一段时间感觉效果不佳。培养逻辑思维真的很重要。

今天来做一个小游戏

做一个猜年龄的小游戏;

需求:

给用户一个年龄大小,让用户来猜测多大。三次机会,如果三次都没猜中,用户可以选择不猜退出或继续猜测。

 

需求分析:

技术栈:if  else 条件判断肯定有 , for 循环好像不合适 ,while 循环可以 ,break (退出当前循环)

要考虑程序的健壮性,要用异常处理 try.....except。

 

思维导图:

 

python基础插图

python基础插图1

程序:

from random import Random
#猜年龄的游戏
#定义一个年龄

python基础插图2

 



def age_choices(nums=2):
age_lists = []
age_all_choices_nums = '0123456789'
age_length = len(age_all_choices_nums)-1
random = Random()
for i in range(nums):
age = age_all_choices_nums[random.randint(0, age_length)] # 这里用到字符串的切片
age_lists.append(age)
age_str = ''.join(age_lists)

python基础插图3

 


return int(age_str)

age_of_men = age_choices()

print(age_of_men)
i = 0
while i <= 3:
b = 1
while b:
try:
a = int(input('请输入你猜测的年龄:'))
except (IOError, ValueError):
print('请重新输入你的年龄(必须是正整数)')
else:
b = 0 if isinstance(a, int) else 1

if age_of_men == a:
game_over = input('恭喜用户猜对了,请输入(y/n)按y退出游戏,按n游戏继续:')
print('该用户年龄' + game_over + "岁")
if game_over == 'y':
print('-----------游戏结束--------------')
break
elif game_over == 'n':
age_of_men = age_choices()
print('--------游戏继续-----------------')

elif age_of_men != a:
i += 1
print('不好意思你没有猜对哦!请继续加油')
if i > 2:
print('你已经猜错三次了')
come_on = input('请输入(y/n)按y退出游戏有,按n游戏继续:')
if come_on == 'n':
age_of_men = age_choices()
i = 0
print('游戏继续')
else:
print('游戏结束')
break

 

转载于:https://www.cnblogs.com/wuheng-123/p/9086042.html

原文链接:https://blog.csdn.net/weixin_30342827/article/details/99426410

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《python基础
   

还没有人抢沙发呢~