1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 __author__ = 'Howie' 4 ''' 5 需求: 6 1.启动程序后,让用户输入工资,让后打印列表。 7 2.允许用户根据标号购买商品。 8 3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒。 9 4.可随时退出,退出时,打印已购买商品和余额。 10 ''' 11 product_list = [ #商品列表做成列表可以动态 12 ('Iphone', 5000), 13 ('Ipad', 2000), 14 ('Bike', 500), 15 ('Watch', 10000), 16 ('Coffee', 31), 17 ('MImu', 2400) 18 ] 19 shopping_list = [] 20 salary = input('输入您的工资:') 21 if salary.isdigit(): #判断输入的字符能不能转换整数 22 salary = int(salary)#转换整数 23 while True: 24 for index, item in enumerate(product_list):#自动打印下标 25 print(index,item) 26 user_choise = input('选择您要购买的物品:') 27 if user_choise.isdigit(): 28 user_choise = int(user_choise) 29 if user_choise < len(product_list) and user_choise >=0:#判断输入的数字是不是在列表长度之内。 30 p_item = product_list[user_choise] #将选中的商品取出 31 if p_item[1] <= salary: #判断是不是买得起,如果买得起 32 salary -=p_item[1] 33 print('您已购买商品【%s】,余额为 33[31;1m%s 33[0m' %(p_item[0],salary)) 34 shopping_list.append(p_item) 35 else: 36 print('你的余额为%s, 33[33;1m%s价格为%s,余额不足 33[0m'%(salary,p_item[0],p_item[1])) 37 else: 38 print('请输入正确数值0~%s'%(len(product_list)-1)) 39 elif user_choise == 'q': 40 41 print('谢谢您的购买,您购买的商品是') 42 for index,item in enumerate(shopping_list): 43 print(index,item) 44 print('您的余额是',salary) 45 exit() 46 else: 47 print('请输入正确的金钱数') 48 #记得主要是分清楚循环的等级关系很重要
今天在老师的教导下面再自己写了一次购物车,我靠~容易好多了。
其实知识点都一样的,记得主要是分清楚循环的等级关系很重要
1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 __author__ = 'Howie' 4 ''' 5 readme: 6 这个是一个三级菜单,通过输入对应的名字可以进到下一层,在任何一层可以退出。 7 ''' 8 #首先 9 data = { 10 '广东省':{ 11 '广州':['白云','越秀'], 12 '茂名':['高州','电白'] 13 }, 14 '山东省':{ 15 '山东市1':['山东县1','山东县11'], 16 '山东市2':['山东县2','山东县22'] 17 }, 18 '广西省':{ 19 '广西市1':['广西县1','广西县11'], 20 '广西市2':['广西县2','广西县22'] 21 } 22 } 23 while True: 24 for i in data : 25 print(i) 26 choice1 = input('要查看的省:') 27 if choice1 in data: 28 while True: 29 for i2 in data[choice1]: 30 print(i2) 31 choice2 = input('要查看的市:') 32 if choice2 in data[choice1]: 33 for i3 in data[choice1][choice2]: 34 print(i3) 35 choice3 = input('已经最后一层了,按’b‘返回或者按’q‘退出 :') 36 if choice3 == 'b': 37 pass 38 if choice3 == 'q': 39 exit() 40 if choice2 == 'b': 41 break 42 if choice2 == 'q': 43 exit() 44 if choice1 == 'q': 45 exit()
第一天的作业要做三级菜单,我连下手都没有办法下手。
但是现在做很简单,除了循环以外还要对字典和列表的使用有一定的思路。