abstrait:#!/usr/bin/env python# -*- coding: utf-8 -*-#如下是一個(gè)購(gòu)物程序:#先輸入工資,顯示商品列表,購(gòu)買(mǎi),quit退出,最后格式化輸出所買(mǎi)的商品。count = 0while True: #做一個(gè)循環(huán)判斷,如果輸入的不是數(shù)字,基于提示,三次后退出 salary = input("input you
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#如下是一個(gè)購(gòu)物程序:
#先輸入工資,顯示商品列表,購(gòu)買(mǎi),quit退出,最后格式化輸出所買(mǎi)的商品。
count = 0
while True: #做一個(gè)循環(huán)判斷,如果輸入的不是數(shù)字,基于提示,三次后退出
salary = input("input your salary:") #輸入你的工資
if salary.isdigit(): #輸入的工資必須是數(shù)字才能往下走
salary=int(salary) #轉(zhuǎn)換為整數(shù)型
break
else:
print("Please input a number:")
count += 1
if count == 3:
exit()
goods_list = [["Iphone",5800],["Macbook",12800],["iMac",15000],["ApplePen",500],["IPod",1200]] #商品列表
shop_list = [] #購(gòu)買(mǎi)的商品列表
msg = " Product List "
print(msg.center(30,"*"))
for i,ele in enumerate(goods_list): #遍歷序列中的元素以及它們的下標(biāo)
print(i,".",ele[0],ele[1])
while True:
choice = input("Which do you want(quit type \"quit\")>>>")
if choice.isdigit(): #判斷選擇的是否是數(shù)字
choice = int(choice) #轉(zhuǎn)換為整數(shù)型
if choice <= len(goods_list)-1: #選擇的數(shù)字必須小于列表長(zhǎng)度-1,因?yàn)橄聵?biāo)從0開(kāi)始
if salary >= int(goods_list[choice][1]): #判斷工資是否夠
shop_list.append(goods_list[choice]) #夠的話(huà),把商品加入到shopList
salary -= goods_list[choice][1] #減去工資
print("You just buy a %s now you have %s RMB" % (goods_list[choice][0],salary))
else:
print("Not enough money")
else:
print("There is no such things")
elif choice == "quit":
print("Here is what you buy:") #這里的思路是,創(chuàng)建一個(gè)字典,把所買(mǎi)的商品格式化輸出
total = 0
shop_dict={}
for item in shop_list:
things = item[0]
money = item[1]
total += int(money)
if things in shop_dict:
shop_dict[things][0] += 1
shop_dict[things][1] += money
else:
shop_dict[things]=[1,money]
for item in shop_dict.items():
print("%s %s個(gè) 共%s" % (item[0],item[1][0],item[1][1]))
print("一共花了:",total)
exit()
else:
print("Please input a number")
continue