# __author: xy
# __data: 2020/9/29
import time
choice_car = {}
moneys = 90000
money = 0
re = moneys
li = [
('bike', 900),
('fly', 800),
('car', 900)
]
def inital_vale():
for i, v in enumerate(li, 0):
m, n = v
print(i, m, n)
return True
def buy_log(f):
def print_log(m, choice={}):
with open('buy.log', 'a') as shopping:
shopping.write(time.strftime('%Y-%m-%d %H-%M-%S') + '\n')
for ch in choice:
x, y = choice[ch]
shopping.write('货号:' + ch + '--' + '单价:' + str(x) + '--' + '数量:' + str(y) + '\n')
f(choice)
shopping.write('余额:' + str(m) + '\n')
shopping.write(time.strftime('%Y-%m-%d %H-%M-%S') + '\n')
return print_log
@buy_log
def buy(m, choice={}):
choice.clear()
return True
def car(*args):
global choice_car, moneys
while True:
a = 0
global re
inital_vale()
choice = input('请输入商品的编号(q退出j结算):')
if choice.isdigit() and int(choice) < len(li):
num = input('请输入需要的数量:')
if num.isdigit():
x, y = li[int(choice)]
print("你选择的结果:", x, y, num, int(num) * y)
print(x, [y, int(num)])
choice_car.update(dict(((x, (y, int(num))),)))
# print(choice_car)
for item in choice_car.items():
print('商品金额:', item[0], num, item[1][0] * item[1][1])
a += item[1][0] * item[1][1]
re = moneys - a
print('商品总额:', a)
print('账户余额:', re)
else:
print('请输入整数!')
elif choice == 'j':
if re >= 0:
moneys = re
buy(moneys, choice_car)
choice_car.clear()
print('购买成功,你的账户余额是:', moneys)
continue
else:
recharge = input('账户余额不足{re},请充值!'.format(re=re))
re += int(recharge)
print('账户余额:', re)
continue
elif choice == 'q':
break
else:
print('你输入的信息不存在,请重新输入!')
return True
if __name__ == '__main__':
car(re)
使用装饰器实现购物车的日志记录
最新推荐文章于 2021-11-04 17:13:31 发布