python3 购物程序

要求:

一、启动程序后,选择是商家还是用户

1、选择商家用户

输入用户名,密码进入

选择增加商品及价格:格式:  商品名称 价格

选择编辑商品及价格:根据提示进行操作

2、选择用户

输入用户名,密码进入

判断是否是第一次登录,如果是,提示进行充值

充值完成,显示商品列表,输入商品名称进行购买,检测余额是否够,够就直接扣款,不够提示余额不足。

3、可随时退出,退出时,打印已购买商品和余额。

python 版本 3.5

主函数:

#Author by Andy
#_*_ coding:utf-8 _*_
import sys,time,os
sys.path.append("E:my python studyday2")
import login_new
#定义显示商品列表函数
def product_list():
    with open(r'E:my python studyfilesproduct_list.txt',encoding='utf-8') as f:
        for index,item in enumerate(f.readlines()):
            print(item,end='')
        print('
')

#定义增加商品函数
def add_product():
    while True:
        with open(r'E:my python studyfilesproduct_list.txt', 'a+', encoding='utf-8') as f:
            Product=input('请输入增加的商品名称及价格:')
            if Product=='q' or Product=='Q':
                product_list()
                exit()
            else:
                f.write(Product)
                f.write('
')
                f.close()
                product_list()
#定义修改商品价格函数
def edit_product():
    while True:
        f2 = open(r'E:my python studyfilesproduct_list.txt', 'r+', encoding='utf-8')
        with open(r'E:my python studyfilesproduct_list.txt','r+',encoding='utf-8') as f:
            print("您的商品列表:")
            product_list()
            old=input("请输入要修改的商品名称及价格:")
            if old == 'q' or old == 'Q':
                print(product_list())
                exit()
            else:
                new=input("请输入修改后的商品名称及价格:")
                if new == 'q' or new== 'Q':
                    print(product_list())
                    exit()
                else:
                    for line in f:
                        if old in line:
                            line=line.replace(old,new)
                        f2.write(line)
                    print(product_list())
#定义判断是否第一次登录及充值函数
def chk_first_login():
    if os.path.exists(r"E:my python studyfilesalance.txt"):
        with open(r'E:my python studyfilesalance.txt', 'r', encoding='utf-8') as f:
            for Balance in f.readlines():
                print('欢迎光临,您目前的余额为:', Balance)
    else:
        with open(r'E:my python studyfilesalance.txt', 'w+', encoding='utf-8') as f:
            print('欢迎光临,第一次使用,请先充值!')
            Balance = input('请输入充值金额:')
            f.write(Balance)
            print('正在充值,请稍候', end='')
            for i in range(10):
                sys.stdout.write('.')
                sys.stdout.flush()
                time.sleep(1)
        print('
充值成功!祝您购物愉快^_^')

#定义获取价格函数
def get_price(x):
    with open(r'E:my python studyfilesproduct_list.txt',encoding='utf-8') as f:
        item=[]
        price=[]
        for i in f.readlines():
            item.append(i.split()[0])
            price.append(i.split()[1])
        s=zip(item,price)
        d={}
        for k,v in s:
            d[k]=v
    if x not in d.keys():
        print("输入错误,请重新输入!")
        buy_main()
    else:
        return int(d[x])


#定义获取余额函数
def get_balance():
    with open(r'E:my python studyfilesalance.txt', 'r', encoding='utf-8') as f:
        balance=f.read()
    return int(balance)

#定义购物车记录函数
def shopping_record(record):
    with open(r'E:my python studyfilesshopping_cart.txt', 'a+', encoding='utf-8') as f:
        for i in record:
            f.write('%s
'%(i))
#定义获取购物记录函数
def get_shopping_record():
    with open(r'E:my python studyfilesshopping_cart.txt', 'r', encoding='utf-8') as f:
        print(f.read())
#定义购买函数
def buy_main():
    choice=input("输入商品名称购买商品,退出请按q!:")
    if choice == 'q' or choice =='Q':
        print('我的购物车:',end='')
        get_shopping_record()
        print("欢迎下次光临,再见!")
        exit()
    else:
        Price = int(get_price(choice))
        print("您要购买的商品价格为:%s" %(Price))
        Balance=get_balance()
        if Price > Balance:
            print("33[31;1m对不起,您的余额不足!33[0m")
        else:
            print("您购买的%s 已添加至购物车"%(choice))
            Balance=str(Balance - Price)
            with open(r'E:my python studyfilesalance.txt', 'w+', encoding='utf-8') as f:
                f.write(Balance)
            Shopping_cart=[]
            Shopping_cart.append(choice)
            shopping_record(Shopping_cart)
#######################################################################################################################
def fun_customers():
    login_name = input("Login:")
    login_pass = input("Password:")
    login_new.confirm(login_name,login_pass)
    chk_first_login()
    time.sleep(1)
    print("我们有一下商品供您选购:")
    product_list()
    while True:
        buy_main()
def fun_seller():
    login_name = input("Login:")
    login_pass = input("Password:")
    login_new.confirm(login_name, login_pass)
    print("您的商品列表:")
    product_list()
    while True:
        print("增加商品输入a,修改商品价格输入)c:")
        choice=input(":")
        if choice=='a':
            add_product()
        elif choice=='c':
            edit_product()
        else:
            print("输入错误,请重新输入!")
#####################################################################################################################

print("商家入口输入s")
print("用户入口输入c")
role=input(":")
while True:
    if role =='c' or role=='C':
        fun_customers()
    elif role == 's' or role == 'B':
        fun_seller()
    elif role == 'q' or role == 'Q':
        print("谢谢使用!")
    else:
        print('输入错误,请重新输入!')

  

用户名密码判断函数:

#Author by Andy
#_*_ coding:utf-8 _*_
#定义校验用户名及密码函数
def confirm(x,y):
    login_name = x
    login_pass = y
    _username = open(r"E:my python studyfilesusername.txt")
    username_list = []
    for username in _username.readlines():
        username_list.append(username.strip("
"))
        _username.close()
    _password = open(r"E:my python studyfilespassword.txt")
    password_list = []
    for passwd in _password.readlines():
        password_list.append(passwd.strip("
"))
        _password.close()
    passwd_dict = {}
    s = zip(username_list, password_list)
    for k, v in s:
        passwd_dict[k] = v
    if passwd_dict[login_name] != login_pass:
        print ("username or password wrong!")
        return 1
    else:
#        print ("Welcome!")
        return 0

  

  

原文地址:https://www.cnblogs.com/pythonstudy/p/6097334.html