购买东西

购买东西

#_*_ encoding: utf-8 _*_   @author: ty  hery   2018/12/29
product_list = [
    ('Iphone',5000),
    ('book',10),
    ('watch',10600),
    ('bike',800),
]
shopping_list=[]

#判断工资是否为数字
salary = input("请输入你的工资:")
if salary.isdigit():
    salary = int(salary)

while True:
    for item in product_list:
        print (product_list.index(item),item)
    user_choice = input('请输入你要购买的商品号:')
    if user_choice.isdigit():
        user_choice = int(user_choice)
        if user_choice >= 0 and user_choice < len(product_list):
            p_item = product_list[user_choice]

            if p_item[1] > salary:
                print('余额不足')
            else:
                shopping_list.append(item)
                salary  -=  p_item[1]
                print('你已经购买了%s,您的余额为%s' %(item,salary))
        else:
            print('你购买的商品不存在')
    elif user_choice == 'q':
        print ('----shopping list----')
        for p in shopping_list:
            print(p)
        print('你的余额为',salary)
        exit()
    else:
        print ("输入有误,请重新编号")
        print ("正在退出")
        exit()

登录入口

#_*_ encoding: utf-8 _*_   @author: ty  hery   2018/12/29

username = ['duwentao','liuxiaohui']  #存储用户名
password = ['123456','456789']      #存储对应的密码
locking = []        #用于锁定
n = 0       #计算输入了几次
while True:
    UserName = input('请输入用户名:')
    if UserName not in locking:
        if UserName in username:
            PassWord = input('请输入密码:')
            if PassWord == password[username.index(UserName)]:
                print ('登录成功')
                exit('hello world')
            else:
                n = n+1
                if n == 3:
                    locking.append(UserName)
                print ('用户名或者密码错误,登录失败')
        else:
            PassWord = input('请输入密码:')
            print ("用户名或者密码错误,登录失败")
    else:
        print ("该用户已被锁定")

字典动态显示三级菜单

#-*- Coding:utf-8 -*-
'''
作业需求:
1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能
'''

import sys
data = {
    '海贼王':{
        '草帽海贼团':{
            '路飞':{'果实能力':'橡胶果实','霸气':['武装色霸气','见闻色霸气','霸王色霸气'],'男':21},
            '索罗':{'果实能力':'无','霸气':['武装色霸气','见闻色霸气'],'男':24},
            '香吉士':{'果实能力':'无','霸气':['武装色霸气','见闻色霸气'],'男':23},
        },
        '七武海':{
            '波雅汉库克':{'果实能力':'甜甜果实','霸气':['武装色霸气','见闻色霸气','霸王色霸气'],'女':20},
            '鹰眼米霍克':{'果实能力':'无','霸气':['武装色霸气','见闻色霸气'],'男':26},
            '小丑巴基':{'果实能力':'分裂果实','霸气':'无','男':25},
        },
        '四皇':{
            '香克斯':{'果实能力':'未知','霸气':['武装色霸气','见闻色霸气','霸王色霸气'],'男':28},
            '黑胡子':{'果实能力':'黑暗果实','霸气':['武装色霸气','见闻色霸气'],'男':28},
            '凯多':{'果实能力':'未知','霸气':['武装色霸气','见闻色霸气'],'男':28},
        },

    },
    '妖精的尾巴':{
        '灭龙魔导师':{
            '纳兹':{'属性能力':'火之灭龙魔法','男':21,},
            '伽吉鲁':{'属性能力':'铁之灭龙魔法','男':23,},
            '温蒂':{'属性能力':'天之灭龙魔法','女':18,},
        },
        '超S魔导师':{
            '吉尔达斯':{'属性能力':'粉碎','男':28},
            '艾璐萨':{'属性能力':'变装魔法','女':26},
            '米拉杰':{'属性能力':'变成撒旦','女':27},
        },
        '六魔将':{
            '深夜':{'属性能力':'扭曲空间','男':24},
            '克布拉':{'属性能力':'毒之灭龙魔法','男':24},
            '安吉拉':{'属性能力':'召唤星灵','女':22},
        },
    },
    '火影':{
       '木叶村':{
           '宇智波鼬': {'属性能力':'万花筒写轮眼','男':26},
           '日向雏田': {'属性能力':'白眼','女':24},
           '我爱罗': {'属性能力':'砂纸守鹤','男':24},
       },
        '晓':{
            '佩恩':{'属性能力':'轮回眼','男':28},
            '鬼鲛':{'属性能力':['水遁','鲛肌'],'男':28},
            '迪达拉':{'属性能力':['黏土炸弹','自爆'],'男':28}
        },
        '代目':{
            '初代':{'姓名':'千手柱间','属性能力':'树诞降临','男':99999},
            '三代':{'姓名':'猿飞','属性能力':['土流大河','召唤猿魔'],'男':64},
            '四代':{'姓名':'波风水门','属性能力':['飞雷神之术','螺旋丸'],'男':34},
        },
    },
}
def _exit():                          #定义一个退出循环打印查询结果函数
    print('*********查询结果*******')
    for query_result in query_results:
        print(query_result)
    sys.exit('退出程序')
query_results = []      #定义一个空列表,用来储存查询结果
for d1 in data:         #首先遍历第一级菜单并打印
    print(d1)
while True:                 #循环第一级菜单,如果用户输入内容错误或为空则给出提示,直到为True执行第二层菜单循环
    choices = input('请选择漫画>>>:')
    if choices in data:         #判断用户输入内容是否包含在第一层菜单内
        while True:         #循环第二级菜单,如果用户输入内容错误或为空则给出提示,直到为True执行第三层菜单循环
            for d2 in data[choices]:    #遍历第二级菜单并打印
                print('\t',d2)
            choices2 = input('请选择下级菜单>>>:')
            if choices2 in data[choices]:   #判断用户输入内容是否包含在第二层菜单内
                while True: #循环第三级菜单,如果用户输入内容错误或为空则给出提示,直到为True执行最后一层循环
                    for d3 in data[choices][choices2]:  #遍历第三级菜单并打印
                        print('\t\t\t',d3)

                    choices3 = input('请选择动漫人物>>>:')
                    if choices3 in data[choices][choices2]: #判断用户输入内容是否包含在第三层菜单内
                        query_results.append(choices3)          #将choices3的值存入 query_results列表中
                        for result in data[choices][choices2][choices3].items():  #循环遍历第三级菜单参数
                            query_results.append(result)        #根据用户输入choices3为键,找到相应的值,
                                                                # 存入query_results列表中并打印
                            print(result)
                        user_goon = input('是否继续查询>>>?   q:退出查询')
                        if user_goon != 'q':        #判断用户是否继续查询,如结果不为q则用户继续选择想要查询的人物
                            pass
                        else:                       #判断用户是否继续查询,如结果为q则退出整个循环
                            _exit()
                    elif choices3 == '' or choices3 == ' ':     #判断用户输入的choices3内容是否为空
                        print("输入不能为空")
                    elif choices3 == 'b':               #判断用户输入内容是否为返回上一级菜单
                        break
                    elif choices3 =='q':        #判断用户输入内容是否为q
                        _exit()
                    else:                       #判断用户输入内容是否存在
                        print('人物不存在请重新输入')

            elif choices2 == '' or choices2 == ' ':
                print("输入不能为空")
            elif choices2 == 'q':
                _exit()
            elif choices2 == 'b':
                break
            else:
                print('菜单不存在请重新输入')

    elif choices == '' or choices == ' ':
        print("输入不能为空")
    elif choices == 'q':
        _exit()
    else:
        print('漫画不存在请重新输入')

字典嵌套

#_*_ encoding: utf-8 _*_   @author: ty  hery   2018/12/29
data = {
    '北京':{
        "昌平":{
            "沙河":["oldboy","test"],
            "天通苑":["链家地产","我爱我家"]
        },
        "朝阳":{
            "望京":["奔驰","陌陌"],
            "国贸":{"CICC","HP"},
            "东直门":{"Advent","飞信"},
        },
        "海淀":{},
    },
    '山东':{
        "德州":{},
        "青岛":{},
        "济南":{}
    },
    '广东':{
        "东莞":{},
        "常熟":{},
        "佛山":{},
    },
}
exit_flag = False
print(not exit_flag)
while not exit_flag:
    for i in data:
        print(i)
    choice = input("选择进入1>>:")
    if choice in data:
        while not exit_flag:
            for i2 in data[choice]:
                print("\t",i2)
            choice2 = input("选择进入2>>:")
            if choice2 in data[choice]:
                while not exit_flag:
                    for i3 in data[choice][choice2]:
                        print("\t\t", i3)
                    choice3 = input("选择进入3>>:")
                    if choice3 in data[choice][choice2]:
                        for i4 in data[choice][choice2][choice3]:
                            print("\t\t",i4)
                        choice4 = input("最后一层,按b返回>>:")
                        if choice4 == "b":
                            pass
                        elif choice4 == "q":
                            exit_flag = True
                    if choice3 == "b":
                        break
                    elif choice3 == "q":
                        exit_flag = True
            if choice2 == "b":
                break
            elif choice2 == "q":
                exit_flag = True
posted @ 2021-04-19 14:29  ty1539  阅读(65)  评论(0编辑  收藏  举报