python————————3(购物商城)

goods={'1.戴尔显示器':2500,'2.华硕显示器':2000,'3.intel i3':800,'5.intel i5':1300,'5.intel i7':2000,'6.GTX 1060':2500,'7.GTX 1070':3500,'8.GTX 1080':5000,'9.GTX 1080Ti':8000}
user=10000
all_price=list(goods.values())#提取字典中所有商品的价格放入列表
all_name=list(goods.keys())#提取字典中所有商品的名称放入列表
print(dict(goods))#显示商品
price=list()
price_name=list()
new_price=[]
new_price_name=[]

while True:
    choice = int(input('您的账户金额为10000,请输入选择的商品序号:')) - 1#-1是因为切片
    if choice in price and price_name:
        price.append(all_price[choice])#选择的某个商品的价格
        price_name.append(all_name[choice])#选择的某个商品的名称
    else:
        price= [all_price[choice], ]
        price_name = [all_name[choice], ]
    pd = str(input('是否选择商品y/n:'))
    if pd=='y':
        new_price.append(price[0])#选择的某个商品的价格放到一个新的列表中
        new_price_name.append(price_name[0])#选择的某个商品的名称放到一个新的列表中
        print(new_price_name)#显示已选择商品的名称
        print(new_price)#显示已选择商品的价格
    if pd=='n':
        continue
    js = str(input('是否结算y/n:'))
    if js == 'y':
        print("总金额",sum(new_price),"")
        if sum(new_price)>user:
            print('您的余额不足,还需',(sum(new_price)-user),'')
            break
        if sum(new_price)<=user:
            print('已结算。','您的余额还剩',(user-sum(new_price)),'')
            break
    if js == 'n':
        continue

账户内置金额是10000的购物商城,说几个缺点,一是在输入商品序号时如果输入了非数字会崩溃,二是无法删除已经选择好的商品,三是目前水平只能做成这样了。

posted @ 2018-04-04 21:40  Rcxer  阅读(202)  评论(0)    收藏  举报