Python学习:购物程序
短信预约 -IT技能 免费直播动态提醒
一.脚本要求
启动程序后,让用户输入工资,然后打印商品列表;
允许用户根据商品的编号购买商品;
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒;
结算购物车,打印已购买商品和余额;
可随时退出程序;
二.涉及Python知识点
注释
变量
用户输入
列表(list)
元组(tuple)
数值运算
IF流程语句
WHILE循环语句
FOR循环语句
三.脚本
#!/usr/bin/env python3
#Author=Guoxh
menu=[
('Iphone 7',6300),
('MacBookPro',12000),
('机械键盘',380),
('Python 教程',80),
('电磁炉',650)]
ps='''
PS: 输入编号将商品加入购物车;
输入q或quit退出购物程序;
输入w或W结算购物车(显示已经购买的商品和余额);
'''
shoppingcart=[]
salary=input('请输入您的工资总额:')
if salary.isdigit():
salary=int(salary)
print("--------Shopping List------")
for q in menu:
print(menu.index(q),q)
print(ps)
while True:
choice=input('请选择您要购买的商品编号:')
if choice.isdigit():
choice=int(choice)
if choice< len(menu):
if menu[choice][1] < salary:
shoppingcart.append(menu[choice])
salary=salary-menu[choice][1]
print("您已经将",menu[choice][0],"加入购物车,您的余额为:",salary)
else:
print("您的余额为:",salary,",买不起:",menu[choice][0])
else:
print("您输入的商品不存在,请重新输入.......")
continue
elif choice == 'W' or choice == 'w':
if shoppingcart:
print("您已经购买的商品:")
print("---------------")
for i in shoppingcart:
print(i[0])
print("---------------")
print(">>>您现在总共剩余:",salary)
break
elif choice == 'q' or choice == 'quit':
print("您已退出购物程序,本次没有购买任何商品,欢迎再次光临!")
break
else:
print("您输入的商品不存在,请重新输入!")
四.测试脚本
请输入您的工资总额:10000
--------Shopping List------
0 ('Iphone 7', 6300)
1 ('MacBookPro', 12000)
2 ('机械键盘', 380)
3 ('Python 教程', 80)
4 ('电磁炉', 650)
PS: 输入编号将商品加入购物车;
输入q或quit退出购物程序;
输入w或W结算购物车(显示已经购买的商品和余额);
请选择您要购买的商品编号:0
您已经将 Iphone 7 加入购物车,您的余额为: 3700
请选择您要购买的商品编号:2
您已经将 机械键盘 加入购物车,您的余额为: 3320
请选择您要购买的商品编号:1
您的余额为: 3320 ,买不起: MacBookPro
请选择您要购买的商品编号:3
您已经将 Python 教程 加入购物车,您的余额为: 3240
请选择您要购买的商品编号:4
您已经将 电磁炉 加入购物车,您的余额为: 2590
请选择您要购买的商品编号:5
您输入的商品不存在,请重新输入.......
请选择您要购买的商品编号:w
您已经购买的商品:
---------------
Iphone 7
机械键盘
Python 教程
电磁炉
---------------
>>>您现在总共剩余: 2590
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341