python_day2_homework_1(简单购物商城)

'''简单购物商城(要求):
1,商品展示,价格
2,买,加入购物车
3,付款,钱不够
'''
1
#_*_ coding: utf-8 _*_ 2 __author__ = 'A-rno' 3 4 meu_list_1 = { 5 'phone' : 100, 6 'bike' : 50, 7 'bnana' : 200, 8 'ball' : 1000, 9 }#商品列表 10 11 meu_list_2 = [ 12 ['a','pay for it'], 13 ['b','out'], 14 ]#付款与退出列表 15 16 def show_meu(meu_list):#主菜单显示 17 if type(meu_list) == dict: 18 for num,key in enumerate(meu_list.keys()): 19 print num,',',key,',',meu_list[key] 20 if type(meu_list) == list: 21 for num,vel in meu_list: 22 print num,',',vel 23 pass 24 25 def input_judge():#输入判断 26 user_input = raw_input("input you choice:").strip() 27 if user_input.isdigit(): 28 user_input = int(user_input) 29 return user_input 30 elif user_input == 'b': 31 return 'out' 32 elif user_input == 'a': 33 return 'pay' 34 else: 35 print("wrong input!!!\n") 36 return 'wrong' 37 38 def money_judge(money,user_backpak):#付款时金额是否足够 39 all_cost = 0 40 for Type_name in user_backpak.keys(): 41 all_cost += user_backpak[Type_name][1] 42 if money >= all_cost: 43 print("You pay successfully!!!\n") 44 return money - all_cost 45 else: 46 print("You don't have enough money!!!\n") 47 return -1 48 49 def show_now(user_bakpak,user_mon):#显示现在背包内容以及现有钱数 50 print "you bakpak have:",user_bakpak 51 print "your mony:",user_mon 52 53 if __name__ == '__main__': 54 user_backpak = {} 55 user_mon = 1000 56 while True: 57 show_meu(meu_list_1)#显示菜单1 58 show_meu(meu_list_2)#显示菜单2 59 show_now(user_backpak,user_mon)#显示当前背包状态和钱数 60 input_judge_num = input_judge() 61 if input_judge_num == 'pay':#用户若选择付款 62 if user_backpak == {}:#查看背包是否为空 63 print("backpak is empty!!!\n") 64 continue 65 else:#背包不为空 66 money_judge_num = money_judge(user_mon,user_backpak)#判断钱够不够 67 if money_judge_num == -1:#钱不够 68 continue 69 else:#钱足够 付款成功 减少钱数 清空背包 70 user_mon = money_judge_num 71 user_backpak.clear() 72 continue 73 if input_judge_num == 'out':#退出判断 74 break 75 elif input_judge_num == 'wrong':#错误输入判断 76 continue 77 else:#正确选取了商品 78 user_choice = meu_list_1.keys()[input_judge_num]#获取商品名称 79 user_cost = meu_list_1[user_choice]#获取商品钱数 80 if user_choice in user_backpak:#若当前选择的商品在背包中 商品数量加1 81 user_backpak[user_choice][0] += 1 82 else:#若当前选择的商品不在背包中 就添加该商品。 格式,商品:[数量,总价] 83 user_backpak[user_choice] = [1,0] 84 user_backpak[user_choice][1] = user_backpak[user_choice][0]*user_cost#商品总价

-------------------------结果--------------------------

0 , phone , 100
1 , bike , 50
2 , bnana , 200
3 , ball , 1000
a , pay for it
b , out
you bakpak have: {}
your mony: 1000
input you choice:0


0 , phone , 100
1 , bike , 50
2 , bnana , 200
3 , ball , 1000
a , pay for it
b , out
you bakpak have: {'phone': [1, 100]}
your mony: 1000
input you choice:a
You pay successfully!!!

 

0 , phone , 100
1 , bike , 50
2 , bnana , 200
3 , ball , 1000
a , pay for it
b , out
you bakpak have: {}
your mony: 900
input you choice:b

Process finished with exit code 0

posted @ 2016-10-27 19:09  A-rno  阅读(131)  评论(0)    收藏  举报