Alex大神的购物车需求:

商品列表,选择商品后加入购物车,扣款显示余额,如余额不足则提示购买此商品还需充值的金额,退出后自动结账显示余额;

# 编辑者:闫龙

#弱鸡购物车程序,需求:定义金额,选择商品,没选择一次告知用户剩余金额,收入Q退出

#定义Money变量为字符串,为之后的转换类型做祭奠

Money="1";

#首先判断Money的类型是否为int

while(type(Money) != type(1)):

#尝试将用户输入的金额转为int

try:

Money=int(input("请输入您本次携带的金额:"));

#如果用户输入的金额不能被转成int,重复输入

except:

print("你在输入个什么鬼?");

#定义商品的名称和商品的价格,价格与商品一一对应;

Products = ["糖果","苹果","香蕉","黄瓜","茄子"];

ProductsPrice = [15, 25, 20, 10, 5];

#判断一下你手里的钱够不够买我们家最便的商品,不够就请自觉离开

if Money < min(ProductsPrice):

print("你么这点儿钱,买个毛线!");

exit();

#开始进入商城

print("欢迎光临Fire商城!\n我们提供以下商品供您选择:");

#用户选择的商品列表

UserSelectList = [];

#用户选择的商品价格列表

UserSelectPrice = [];

#开始循环商城商品列表

while True:

#输出商品列表使用for循环输出

for i in range(0, len(Products)):

print(str(i+1) + ". " + Products[i] + "\t" + str(ProductsPrice[i]));

#获取用户选择的商品

UserSelect = input("请输入您所购买商品的编号或者名称(Q or 滚 结算购物车):");

#判断如果不是退出的选项,继续进行

if (UserSelect != "滚" and UserSelect != "Q" and UserSelect !="q") :

#判断用户输入的是商品编码还是商品名称:

try:

#如果成功的将UserSelect转换为int则代表用户输入的是商品编码

#-1的意思是商品显示编码与列表内位置相差1

UserSelect = int(UserSelect)-1;

#获取用户所输入商品编码所对应的商品名称

UserProducts = Products[UserSelect];

#为用户选择商品的价格列表加入当前选择商品的价格

UserSelectPrice.append(ProductsPrice[UserSelect]);

##判断用户输入的是商品名称:

except:

#如果这个商品名称出现在商品列表中,则继续

if(Products.count(UserSelect) > 0):

# 为用户选择商品的价格列表加入当前选择商品的价格

UserSelectPrice.append(ProductsPrice[Products.index(UserSelect)]);

#获取商品的名称

UserProducts = UserSelect;

#如果商品不在列表中,则提示并重新循环

else:

print("请问你在输入个什么鬼?");

continue;

#判断用户的购物车中有没有商品,为计算余额是否充足

if(len(UserSelectList)==0):

#没有商品就直接将商品添加

UserSelectList.append(UserProducts);

else:

#判断用户所选择的商品价格综合是否大于余额;

if(sum(UserSelectPrice)> Money):

print("对不起,您的余额不足!如要购买",

UserProducts,"还需充值",(sum(UserSelectPrice)-Money));

#如果商品添加失败,则将最后添加到用户价格列表中的Item删除;

UserSelectPrice.pop(-1);

else:

#将商品加入用户购物车

UserSelectList.append(UserProducts);

print("当前余额:",Money-sum(UserSelectPrice),"元");

else:

break;

print("您本次购买的商品如下:");

for i in range(0, len(UserSelectList)):

print(str(i + 1) + ". " + UserSelectList[i] + "\t" + str(UserSelectPrice[i]));

print("共计:",sum(UserSelectPrice),"元");

print("您的余额:",Money-sum(UserSelectPrice),"元");

 

查看原文