客户端大概流程 :买家系统 首先输入买家他的余额,之后会进行,通过文件里的来余额判断他是否上次消费过。如果有信息,就按照文件里的余额计算,替换掉买家输入的余额,如果没有信息证明客户是第一次来,就用买家输入的余额。 然后循环输出商品下标,和商品信息。客户通过下标来选择商品。选择的商品会被加入到 购物车列表 中,然后通过下标[1]得到商品的金额。计算出消费金额,这个消费金额 如果大于余额 那么 从购物车列表里删除这个商品 告知 余额不足,并提示买多少钱以内的商品。每加进一个商品,都会计算购物车的总金额并和余额进行对比。最后选择 “q” 退出。 购物车列表 和 余额 会被保存在两个文件当中。 商品信息文件内容
[‘Iphone‘, 5800],[‘Mac Pro‘, 9800],[‘Bike‘, 800],[‘Watch‘, 10600],[‘Coffee‘, 31],(‘pro‘, 1899), ,
购物车文件内容
[‘Iphone‘, 5800],[‘Iphone‘, 5800],[‘Iphone‘, 5800], , 余额文件内容
17000 正式代码: f = open(‘s1.txt‘,‘r‘,encoding=‘utf-8‘) first_line = f.readline() str2=first_line[0:-3] b=eval(str2) #一个空列表,当做购物车shopping_cart=[]#计算购物金额money=0money2=0money3=0 pd=True #客户输入工资 转化成int类型sallry=int(input("请输入余额 >>>"))#读取存有余额的文件sallry_txt = open("Balance.txt","r")sallry_txt_line=sallry_txt.readline()sa=sallry_txt_line[0:]#如果读取的是整数 就把值给 工资if sa.isdigit(): sallry=int(sa) print("您之前已经登录,余额是:",sallry)else: #占位符什么都不做的意思 pass while pd:#打印商品列表 for id,item in enumerate(b): print(id+1,item) ID=input(‘请输入选择的商品编号 >>‘) #如果输入q就退出 if ID=="q" : break # 否则如果 输入的是整数 并且 大于0,小于 购物清单的最大编号 就加进购物车里 elif ID.isdigit() and int(ID) > 0 and int(ID) < len(b)+1: #加进购物车 shopping_cart.append(b[int(ID) - 1]) #循环购物车 for i in shopping_cart: money += i[1] #如果刚加入的 if money > sallry: shopping_cart.pop() for i2 in shopping_cart: money2 += i2[1] print("消费",money," 元 您的余额不足,请选购金额不超过",sallry-money2,"的商品") money2=0 money=0 else: for i3 in shopping_cart: money3 += i3[1] print("bug>>",i3) sallry1 =sallry-money3 print("消费",money3,"元,剩余",sallry1,"元") money3=0 money = 0 #最终余额 Balance=sallry1 sallry1=20000 else: print("输入错误,重新输入") print("本次购物结束,欢迎下次光临")#将购物清单写入files = open("shopping_cart.txt","w") # "w"shopping_cart.append(" ")for i in shopping_cart: files.write(str(i)) files.write(",")files.close() #将余额写入files2 = open("Balance.txt","w")files2.write(str(Balance))files2.close()
时间: 2024-10-26 09:16:20