格格小丫头
to be a new one ,believe yourself

学习了python基础知识已经七天了,囊括 了很多知识点,今日老师带着我们理了一遍高级游戏的程序逻辑,把我们这几天学习的东西用上了,接下要真正得成为一名码农了,好好纪念一下
首先说一下该游戏的功能,大咖如果觉得有更好的代码精简,可以探讨一下

编写猜年龄游戏,有以下要求:

  1. 可能会有用户会在输入年龄之后不小心输入空格,如18   ,请做处理
  2. 可能会有用户会恶意输入导致程序报错,如逗你玩呀,请做处理
  3. 如果用户3次没有猜对,可以选择继续玩或退出(自定义退出条件)
  4. 如果用户猜对了,可以在以下奖品中选择两件奖品(一次只能选择一件奖品):{0:'布娃娃',1:'变形金刚',2:'奥特曼',3:'<python从入门到放弃>'}
  5. 用户选择奖品后退出程序,用户也可以不选择奖品直接退出程序。
age = 18  # 答案
count = 0  # 游戏次数控制
prize_dict = {
	0:'布娃娃',
	1:'变形金刚',
	2:'奥特曼',
	3:'<Python从入门到放弃>'
}

# 核心代码
while count < 3:
    inp_age = input('请输入你的年龄>>>').strip()  # 与用户交互

    # 判断用户是否骚扰
    if not inp_age.isdigit():
        print('傻逼,你的年龄输错了')
        continue

    inp_age_int = int(inp_age)

    # 核心逻辑,判断年龄
    if inp_age_int == age:
        print('猜对了')
        
        print(prize_dict)  # 打印奖品
        
        # 获取两次奖品
        for i in range(2):
        	prize_choice = input('请输入你想要的奖品,如果不想要,则输入"n"退出!!!').strip()  # 与用户交互获取奖品
   			
   			# 判断是否需要奖品
        	if prize_choice != 'n':
        		print(f'恭喜你获得奖品: {prize_dict[int(prize_choice)]}')
        	else:
        		break
       break
       
    elif inp_age_int < age:
        print('猜小了')
    else:
        print('猜大了')
    
    count += 1  # 成功玩一次游戏
    
    if count != 3:
    	continue
    	
    again_choice = input('是否继续游戏,继续请输入"Y",否则任意键直接退出.').strip() # 交互是否再一次

	# 判断是否继续
    if again_choice == 'Y':
    	count = 0

posted on 2019-05-24 20:16  格格小丫头  阅读(275)  评论(0编辑  收藏  举报