要求:
1.启动程序后,然该用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
python代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#定义商品列表
shopping
=
{
1
:[
"手机"
,
1000
],
2
:[
"电脑"
,
4000
],
3
:[
"平板"
,
3000
]
}
#while循环 判断 用户输入的工资是否是整数,而并不是字母或者其他。
while
True
:
gongzi
=
input
(
"请输入您的工资(精确到元):"
)
#判断输入的是否是整数
if
gongzi.isdigit():
gongzi
=
int
(gongzi)
# 用于存储临时购买商品的列表
shopping_list
=
[]
#定义不断购买的一个循环过程
while
True
:
print
(
"产品列表如下"
.center(
30
,
"="
))
#循环字典,并打印出来
for
i
in
shopping:
print
(i,shopping[i][
0
],shopping[i][
1
])
goumai
=
input
(
"请输入你要购买商品的序号:[按q退出]"
)
if
goumai.isdigit():
goumai1
=
int
(goumai)
#如果购买商品的价格小于等于用户的工资,就把商品加入临时购买商品的列表,并打印余额。
if
shopping[goumai1][
1
] <
=
gongzi:
#下面 把商品的序号、商品名称、商品价格 加入到一个商品元组里边
goumai_list
=
goumai1,shopping[goumai1][
0
],shopping[goumai1][
1
]
#讲商品元组追加到临时购买的商品列表里;
shopping_list.append(goumai_list)
#计算用户的余额=用户登录时输入的工资-购买商品的价格
gongzi
=
gongzi
-
shopping[goumai1][
1
]
print
(
"您的余额是{0}"
.
format
(gongzi))
continue
print
(
"余额不足,当前余额{0}$"
.
format
(gongzi))
elif
goumai
=
=
"q"
:
print
(
"您已购买以下商品:"
.center(
30
,
"-"
))
name
=
""
for
l
in
shopping_list:
print
(l[
0
],l[
1
],l[
2
])
print
(
"您的余额是{0}$"
.
format
(gongzi))
exit()
else
:
print
(
">>>输入错误!"
)
else
:
print
(
">>>输入错误!"
)
|
python购物车优化版本--http://506554897.blog.51cto.com/2823970/1939657
本文转自506554897 51CTO博客,原文链接:http://blog.51cto.com/506554897/1939648,如需转载请自行联系原作者