列表练习题
题:
1、启动程序,让用户输入工资,然后打印商品列表;
2、允许用户根据商品编号购买产品;
3、用户选择商品后,检测余额是否够,够就直接买,不够提醒;
4、可随时退出程序,打印购买商品和余额。关键语句: enumerate .isdigit
enumerate'取出列表下标 .isdigit 将字符或数字型数字强行转成整型数字
my_list = [] #临时购物车
shopping_list = [(
'iphone8'
,
10000
), (
'huawei'
,
20000
), (
'sansung'
,
15000
), (
'
可乐
'
,
5
), (
'
拉面
'
,
3
)] #商品列表
salary =
input
(
'
请输入您的收入:
'
) #工资
if
salary.isdigit(): #判断输入工资是否是数字
salary =
int
(salary) #将数字或字符强行转成数字
while True
: #while 循环
for
index, item
in
enumerate
(shopping_list): #
(
'
本店产品如下
'
, index, item)
your_choice =
input
(
'
请输入你的选择:
'
) #选择购买商品的编码
if
your_choice.isdigit(): #判断输入的信息是否是数字
your_choice =
int
(your_choice) #强制转型数字
if
your_choice <
len
(shopping_list)
and
your_choice >=
0
: #如果输入的数字大于0小于列表最大的数字
p_item = shopping_list[your_choice] #定义商品
if
p_item[
1
] <= salary: #判断工资是否大于商品价格
my_list.append(p_item) #如果工资高于价格 将商品加入购物车
salary -= p_item[
1
] #做购买付款处理
(
'
您购买的产品是
%s
,账号还剩
%s
元!
'
% (p_item[
0
], salary)) #打印已买商品和用户余额
else
:
(
'
没钱瞎逛个屁!
'
) #判断如果工资低于商品价格,输出没钱。。。。
else
:
(
'
没有你输入的选项!
'
) #判断 输入的信息不符,打印
elif
your_choice ==
'q'
: #判断 输入等于q 退出程序,并打印购物车商品和余额
(
'----my list is : -----'
)
for
p
in
my_list:
(p)
exit
()
else
:
(
'
你输入的信息不合法
!'
) #判断输入合不合法
else
:
(
'
你输入的不是数字,请重新输入!
'
) #判断输入合不合法