day07作业

猜年龄游戏

'''
1. 给定年龄,用户可以猜三次年龄
2. 年龄猜对,让用户选择两次奖励
3. 用户选择两次奖励后可以退出
'''

age = 18
count = 0  # 计数
prize_cart = dict()  # 定义一个存放奖品的字典

prize_msg = '''
0: '奥特曼',
1: '钢铁侠',
2: '《笨方法学python》',
3: '泰国一日游',
4: 'iphoneXII',
5: '娃娃',
6: '阿拉丁',
7: '特斯拉',
8: '谢谢惠顾'
'''
prize_dict = {
    0: '奥特曼',
    1: '钢铁侠',
    2: '《笨方法学python》',
    3: '泰国一日游',
    4: 'iphoneXII',
    5: '娃娃',
    6: '阿拉丁',
    7: '特斯拉',
    8: '谢谢惠顾'
}

while count < 3:
    # 与用户交互,输入年龄
    age_inp = input('请输入你的年龄:').strip()

    # 判断输入的是否是数字
    if not age_inp.isdigit():
        print('非法字符,请重新输入')
        continue

    age_inp = int(age_inp)
    # 核心逻辑
    if age_inp == age:
        print('猜对了')

        # 打印奖品信息
        print('奖品信息如下:
', prize_msg)

        # 用户选择两次奖品
        for i in range(2):
            prize_choice = input('请输入你选择的奖品,如不想要就按q退出').strip()

            if prize_choice != 'q':
                prize = prize_dict[int(prize_choice)]
                print(f'恭喜你获得奖品:{prize}')

                # 把奖品放入购物车
                if prize in prize_cart:
                    prize_cart[prize] += 1
                else:
                    prize_cart[prize] = 1
                print(f'你获得如下奖品:{prize_cart}')

            else:
                break
        break

    elif age_inp < age:
        print('猜小了')
    else:
        print('猜大了')

    count += 1
原文地址:https://www.cnblogs.com/setcreed/p/11529929.html