day6购物车升级

# 用户名和密码存放于文件中,格式为: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)

猜你喜欢

转载自www.cnblogs.com/sw-z/p/9671943.html
今日推荐