您的位置:首页 > 编程语言 > Python开发

【我们一起自学Python】-程序练习:购物车程序

2017-08-16 00:10 447 查看
描述:
1.启动程序后,让用户输入金额,然后打印出所有的商品及其价格
如果输入的不是数字则退出程序

2.允许用户输入商品的编号来购买商品
如果输入的是数字则判断数字是否合理,如果合理则扣钱,加入用户的购物车
如果输入的是q则退出程序
如果输入的是其他字符或符号则提示输入有误,询问是否重新输入
如果重新输入的是y则继续让用户输入产品序号
否则退出程序,并打印出已经购买的商品
3.退出程序时打印所购买的商品
流程图



#!usr/bin/evn python
#-*-coding utf-8  -*-

product_list = [
("宝马",1000),
("大众",700),
("丰田",900),
("宾利",1100),
("本田",950),
]#创建一个produce_list字典存放产品及价格

shooping_cart =dict()#创建一个字典用于存储用户已经购买的产品,和购买的件数

while True:
remain_sum = input("请输入您的余额:")
if remain_sum.isdigit():
print("您的购物车空空如也。。。。。")
remain_sum=int(remain_sum)
loop = 0
while True:
if loop ==0:#只有用户刚进入的时候显示余额,即第一次执行while循环时打印余额
print("|-----------|\n|余额",remain_sum,"\n|___________|")
loop =1
print("====商品列表====")
for index,product in enumerate(product_list):
print(index,product[0],product[1])
while True:
user_choice = input("请输入您要购买的商品序号》》》")
if user_choice.isdigit():#判断输入的是否是数字
user_choice = int(user_choice)
if -1< user_choice<len(product_list):#判断输入的商品编号是否存在
product = product_list[user_choice][0]
pice = product_list[user_choice][1]
if remain_sum >= pice:#只有商品接个不大于余额时才会扣款并加入购物车
remain_sum -=pice
if product in shooping_cart:#将购买的商品加入用户购物车,并统计购买的数量
shooping_cart[product] +=1
else:
shooping_cart[product]=1
break
else:
print("---->您的余额为%s,请选择其他商品<-----"%remain_sum)
recharge = input("请问您是否充值:")
if  recharge == "y":
add = input("请输入您充值的金额:")
while not add.isdigit():
add = input("您的输入有误,请重新输入您充值的金额:")
remain_sum += int(add)
print("您充值后的余额为:", remain_sum)
break
else:
break
else:
print("---->您选择的商品不存在<-----")
elif user_choice == "q":#如果用户输入的是q而不是商品编号则推出程序,并打印出用户所购买的商品
if len(shooping_cart)==0:
print("轻轻的你走了,正如你轻轻的来,没有带有一件商品")
else:
print("您购买的商品如下:")
key = list(shooping_cart.keys())
for item in  key:
print(item,":",shooping_cart[item])
exit()
else:#如果用户输入的既不是商品编号也不是q则提示输入有误并决定是否继续购物
if input("《《《您的输入有误》》》\n<---->是否继续购物 ^_^ :")=="y":
continue
else:#如果用户不输入y,则打印用户购买的商品及数量,并推出程序
if len(shooping_cart)==0:
print("轻轻的你走了,正如你轻轻的来,没有带有一件商品")
else:
print("您购买的商品如下:")
key = list(shooping_cart.keys())
for item in  key:
print(item,":",shooping_cart[item])
exit()
else:
print("您的货币无法流通,请换取人民币再来购物!!!")
if input("请问是否继续购物》》》")=="y":
continue
else:
print("您已经离开商店,欢迎下次光临.......")
exit()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  初学者 Python