购物车功能

   1 先循环打印出商品
    2 用户输入数字选择商品(判断是否是数字,判断输入的数字是否在范围内)
    3 取出商品名,商品价格
    4 判断用户余额是否大于商品价格
    5 余额大于商品价格时,判断此商品是否在购物车里
        5.1 在购物车里,个数加1
        5.1 不在购物车里,拼出字典放入({‘good’:{‘price’:10,‘count’:1}})
    6 用户余额减掉商品价格
    7 花费加上商品价格
    8 当输入 q时,购买商品
        8.1 消费为0 ,直接退出
        8.2 打印购物车
        8.3 接受用户输入,是否购买 当输入y,直接调购物接口实现购物

 

"""
作者: Tank
创建时间: 2019.07.10 19:05
"""

user_info = {
    'user': None,
    'pwd': None,
    'balance': None
}

import os

# 注册
while True:
    user = input('user:')
    if os.path.exists(f'{user}.txt'):
        print('用户名已存在!')
        continue

    pwd = input('pwd:')
    re_pwd = input('pwd:')
    if pwd == re_pwd:
        user_info = ','.join([user, pwd, '10000'])
        with open(f'{user}.txt', 'w', encoding='utf-8') as f:
            f.write(user_info)
            f.flush()
            print('注册成功!')
            break
    else:
        print('两次密码不一致。')


# 登录
while True:
    user = input('user:')
    if not os.path.exists(f'{user}.txt'):
        print('用户名不存在!')
        continue
    with open(f'{user}.txt', 'r', encoding='utf-8') as f:
        user_content = f.read()
        user, file_pwd, balance = user_content.split(',')

    pwd = input('pwd:')

    if pwd == file_pwd:
        user_info['user'] = user
        user_info['pwd'] = file_pwd
        user_info['balance'] = int(balance)
        print('登录成功!')
        break
    else:
        print('密码错误')

'''
1 先循环打印出商品
2 用户输入数字选择商品(判断是否是数字,判断输入的数字是否在范围内)
3 取出商品名,商品价格
4 判断用户余额是否大于商品价格
5 余额大于商品价格时,判断此商品是否在购物车里
    5.1 在购物车里,个数加1
    5.1 不在购物车里,拼出字典放入({‘good’:{‘price’:10,‘count’:1}})
6 用户余额减掉商品价格
7 花费加上商品价格
8 当输入 q时,购买商品
    8.1 消费为0 ,直接退出
    8.2 打印购物车
    8.3 接受用户输入,是否购买 当输入y,直接调购物接口实现购物
'''


# 购物车
good_list = [
    ['广东凤爪', 20],
    ['T-shirt', 150],
    ['AJ1', 2000],
    ['macbook pro', 18888],
]

shopping_cart = {}

cost = 0

while True:

    if cost:
        print(shopping_cart, f'您的购物车清单,总价为{cost}')
        sure = input('请确认是否结算: 输入y确认购买,否则退出程序!').strip()
        if sure == 'y':
            user_info['balance'] -= cost
            with open(f'{user_info["user"]}.txt', 'w', encoding='utf-8') as f:
                user_info['balance'] = str(user_info['balance'])
                res = ','.join([user_info['user'], user_info['pwd'], user_info['balance']])
                f.write(res)
                f.flush()
                print('购买成功, 欢迎下次光临!')
                break
        else:
            cost = 0
            print('退户程序!')
            break


    for index, goods in enumerate(good_list):
        print(index, goods)

    choice = input('请选择商品编号:').strip()

    if not choice.isdigit():
        print('输入有误,请输入数字')
        continue
    choice = int(choice)
    good, price = good_list[choice]
    print(good, price)

    if user_info['balance'] >= price:
        if good not in shopping_cart:
            shopping_cart[good] = 1
        else:
            shopping_cart[good] += 1

        cost += price
        print('添加购物车成功!')
源码

 

posted @ 2019-07-10 18:41  tank_jam  阅读(482)  评论(0编辑  收藏  举报