一.脚本要求启动程序后,让用户输入工资,然后打印商品列表;

允许用户根据商品的编号购买商品;

用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒;

结算购物车,打印已购买商品和余额;

可随时退出程序;

二.涉及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