购物车程序

2017-09-15  22:09:11


"""本代码实现的功能:
    1、启动程序,输入用户名和密码,若匹配成功,则进行下一次操作,否则继续输入用户名密码;
    2、显示查看购物车还是购买商品,然后让用户输入工资,再然后打印商品列表;
    3、允许用户根据商品编号购买商品;
    4、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒;
    5、可随时退出,退出时,打印已购买的商品和余额,并把商品写入到文件中。
"""

# -*- coding:utf-8 -*-
# author:Mr.chan

import sys

def login(username,password):
    """用户登录函数,判断用户名和密码是否正确"""
    with open("userlist.txt", 'r',encoding='utf-8') as f:
        for line in f:
            if [username, password] == line.strip().split('|')[0:2]:  # 判断用户名和密码是否正确
                return True   # 若用户名和密码匹配成功,则返回True

def show_product_list():
    """展示商品列表 product_list """
    for index,item in enumerate(product_list):
        item_name = item[0]
        item_price = item[1]
        print("{0} >>> {1} {2}".format(index,item_name,item_price))

def show_purchased():
    """显示购物车列表 shopping_cart(因为未结算,所以不在文件中查询已购买商品)"""
    print("Purchased products:".center(30, '-'))
    for k,v in shopping_cart:
        con = k +'|'+ v
        print(con)
    print("Your balance is %s
" % salary)

product_list = [
    ('TCL TV','3500'),
    ('Android phone','3000'),
    ('Iphone 8','8000'),
    ('Lenovo computer','4000'),
    ("Haier refrigerator",'1500')
]

def salary_isdigit():
    """判断输入的薪资是否是数字"""
    global salary  # 因为其他函数需要调用salar,所以不得不在这里定义为全局变量
    while True:
        salary = input("
Input your salary:")
        if salary.isdigit():
            salary = int(salary)
            break
        else:
            print("