购买东西
购买东西
#_*_ 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
写入自己的博客中才能记得长久