products =[["iphone",6888],["macpro",14800],["小米6",2499],["coffee",31],["book",60],["nike",699]]#自己的代码print("-"*6+" "+"商品类别"+" "+"-"*6)for a inrange(0,6):# 0可以省略不写
b = products[a][0]
c = products[a][1]print("%d"% a, end="\t")print("%s"% b, end="\t")print("%s"% c)#别人的答案print("-"*5,"\t","商品列表","\t","-"*5)# "\t"表示缩进,相当于4个空格for i inrange(6):print(i, end="\t")print(products[i][0], end="\t")# print里头不仅仅可以是字符串,也可以是变量名,如果是变量名,就不必使用占位符print(products[i][1])
第2问
#自己的原始代码
products =[["iphone",6888],["macpro",14800],["小米6",2499],["coffee",31],["book",60],["nike",699]]
i =0
d =[]while i <=5:# 不断询问客户想买什么,因为只有6件商品,所以最多问6次
a =(input("请您选择一个商品编号:"))while a =="q":# 自己的想法是当客户输入q,就退出循环,但是这么写不会影响1级while循环的运行,就会导致1级while循环会循环6次,即使出现了q也无济于事break
d.append(a)
i +=1print(d)
d =int(d).sort()for d1 in d:print("-"*5,"\t","商品列表","\t","-"*5)print(d1, end="\t")print(products[d1][0], end="\t")print(products[d1][1])#修改后的代码
products =[["iphone",6888],["macpro",14800],["小米6",2499],["coffee",31],["book",60],["nike",699]]
i =0
shopping_numbers =[]
money =[]while i <=5000:# 若是极端情况下,消费者选购次数超过了5000次,其实这里替换成无限循环更恰当,比如 while 1,记得后面一定少不了break
a =input("请您选择一个商品编号(请输入0-5,输入q为结束选购):")if a in["0","1","2","3","4","5"]:
shopping_numbers.append(int(a))elif a notin["0","1","2","3","4","5"]and a !="q":print("您输入的商品编码本店已售完或无该商品,请重新选购!谢谢!")else:print("-"*5,"\t","商品列表","\t","-"*5)for number in shopping_numbers:print(number, end="\t")print(products[number][0], end="\t")print(products[number][1])
money.append(products[number][1])
money_total =sum(money)print("合计金额为:%d 元"% money_total)break