#定義一個嵌套列表 product_list = [('mac',9000), ('bike',2000), ('book',100), ('tasila',900000) ] #定義購物車 shopping_card = [] shopping_card2 = [] #定義本身的金額 saving = input("please input your money:") #判斷輸入的金額是否合法 if saving.isdigit(): saving = int(saving) #讓不斷購買商品 while True: #打印列表內容 for i,v in enumerate(product_list,1): print(i,'>>>',v) #定義購買編號 choice = input('input your choice:[quit:q]') #判斷輸入是否數字 if choice.isdigit(): choice = int(choice) #判斷商品個數 if choice>0 and choice <= len(product_list): #定義商品編號 Price = product_list[choice-1] #判斷商品和本金的差額 if Price[1] < saving: saving -= Price[1] shopping_card.append(Price) print("你購買了%d號商品,價格是%s元,還剩%s元" %(choice,Price[1],saving)) print("-" * 30) print("請繼續選購") print() else: print("餘額不足,還剩%s元,請充值。" %saving) print("-" * 30) print("") else: print("商品編號不存在") elif choice =='q': print("******你購買了如下商品*******") for i in shopping_card: if i not in shopping_card2: shopping_card2.append(i) print(i,"x",shopping_card.count(i)) print("還剩%s元" %saving) break else: print("親,你輸入了非法字符") else: print("親,你輸入了非法字符")
測試結果:git
please input your money:111111 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]1 你購買了1號商品,價格是9000元,還剩102111元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]1 你購買了1號商品,價格是9000元,還剩93111元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]2 你購買了2號商品,價格是2000元,還剩91111元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]2 你購買了2號商品,價格是2000元,還剩89111元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]3 你購買了3號商品,價格是100元,還剩89011元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]3 你購買了3號商品,價格是100元,還剩88911元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]4 餘額不足,還剩88911元,請充值。 ------------------------------ 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]4 餘額不足,還剩88911元,請充值。 ------------------------------ 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]3 你購買了3號商品,價格是100元,還剩88811元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]2 你購買了2號商品,價格是2000元,還剩86811元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]3 你購買了3號商品,價格是100元,還剩86711元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]2 你購買了2號商品,價格是2000元,還剩84711元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]1 你購買了1號商品,價格是9000元,還剩75711元 ------------------------------ 請繼續選購 1 >>> ('mac', 9000) 2 >>> ('bike', 2000) 3 >>> ('book', 100) 4 >>> ('tasila', 900000) input your choice:[quit:q]q ******你購買了如下商品******* ('mac', 9000) x 3 ('bike', 2000) x 4 ('book', 100) x 4 還剩75711元