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

浙公网安备 33010602011771号