# 用户名和密码存放于文件中,格式为:egon|egon123 # 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 # 允许用户根据商品编号购买商品 # 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 # 可随时退出,退出时,打印已购买商品和余额 msg_dic2 = { '1': 'apple', '2': 'tesla', '3': 'mac', '4': 'lenovo', '5': 'chicken', } msg_dic = { '1.apple': 10, '2.tesla': 100000, '3.mac': 3000, '4.lenovo': 30000, '5.chicken': 10, } msg_dic1 = { '1': 10, '2': 100000, '3': 3000, '4': 30000, '5': 10, } f = open('zh.txt','w') data = f.write('egon|egon123') f.close() count = 0 tag = True tag1 = True shopping_cart = [['', '', '', '']] balance = 0 count1 = 0 order_number = 0 count2 = 1 while tag: name = input('请输入用户名:').strip() password = input('请输入密码:').strip() for key, value in msg_dic.items(): print('商品名:{name} 单价:{price}'.format(name=key, price=value)) with open('zh.txt','r') as f: user_info = f.read().split('|') if count >= 2: print('输入错误三次,退出程序') break if name != user_info[0] or password != user_info[1]: print('输入的用户名或密码错误!') count += 1 continue if name == user_info[0] and password == user_info[1]: while tag: money = input('请输入要充值的金额:').strip() tag1 = True chioce = input('是否退出购物(是\否或任何键):') if chioce == '是': tag = False break if money.isdigit() is False: print('请输入数字!') continue while tag1 and tag: balance += int(money) money = '0' print('【余额:%s' % balance) if money.isdigit() is True: goods = input('请输入要购买的商品编号:').strip() if chioce == '是': count2 += 1 tag = False break if goods not in msg_dic1: print('没有该商品') continue if msg_dic2[goods] in shopping_cart[order_number]: num1 = input('1请输入要购买的数量:').strip() if balance < 0 or balance<int(num1) * msg_dic1[goods]: print('余额不足,请充值余额。') tag1 = False continue if num1.isdigit() is True: num2 = shopping_cart[order_number][2] total = shopping_cart[order_number][3] shopping_cart[order_number][2] = int(num2) + int(num1) shopping_cart[order_number][3] = int(total) + int(num1) * msg_dic1[goods] balance -= int(num1) * msg_dic1[goods] for i in shopping_cart: print('【购物车:商品名:{name} 单价:{price} 数量:{number} 总价:{total}'.format(name=i[0], price=i[1], number=i[2], total=i[3])) chioce = input('是否退出购物(是\否或任何键):') if chioce == '是': count2 += 1 tag = False break if num1.isdigit() is False: print('请确认输入的是数字。') continue if goods in msg_dic1: num = input('请输入要购买的数量:').strip() if balance < 0 or balance < int(num) * msg_dic1[goods]: print('余额不足,请充值余额。') tag1 = False continue if num.isdigit() is True: if count == 0: shopping_cart.remove(['', '', '', '']) count += 1 shopping_cart.append([msg_dic2[goods], msg_dic1[goods], num, msg_dic1[goods] * int(num)]) order_number = shopping_cart.index([msg_dic2[goods], msg_dic1[goods], num, msg_dic1[goods] * int(num)]) balance -= int(num) * msg_dic1[goods] for i in shopping_cart: print('【购物车:商品名:{name} 单价:{price} 数量:{number} 总价:{total}'.format(name=i[0], price=i[1], number=i[2], total=i[3])) chioce = input('是否退出购物(是\否或任何键):') if chioce == '是': tag = False break if count2 == 1 : print('余额为0') print('购物车:空') else: print('【购物车:商品名:{name} 单价:{price} 数量:{number} 总价:{total}'.format(name=i[0], price=i[1], number=i[2], total=i[3])) print('【余额:%s' % balance)
day6购物车升级
猜你喜欢
转载自www.cnblogs.com/sw-z/p/9671943.html
今日推荐
周排行