博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python学习---简单购物商城的实现
阅读量:4969 次
发布时间:2019-06-12

本文共 4005 字,大约阅读时间需要 13 分钟。

 

1、本购物商城开发环境:

OS:64位Windows 7
IDE:pycharm4.0.4
python版本:3.5.1 32位
2、本购物商城只做python学习使用,版权有作者所有,未经过作者本人同意,不得将此购物商城应用于商业用途。

 

3、购物商城简述:

 

a、本购物商城提供用户认证,对存在goldmenber的用户初始给予20000元的购物卡用于购物;

b、对于不在goldmenber的用户,必须先要注册,才能进行下一步操作;
c、本购物商城提供购物商品进行选购,每个商品标注有价格;
d、系统分配给用户一个金额(系统赠送20000元)用于购物;
e、购物过程中,用户余额不足购买最低价格商品时,可选择进行充值,充值每次充值1000元,可多次充值;
f、购物过程中,用户可以随时选择按q进行退出,按p打印当前的已购物品清单。

__author__ = 'bruce'import randomgoodslist=[["ThinkPadE450",4199],["Macbook",12898],["IPhone6s",7788],["Surface",11088],["CanonEOS70D",6999],["Kindle",938],]shopcart= []    #初始购物车str1 = "价目表"str2 = "物品(名)"str3 = "价格(¥)"str4 = "件数(个)"str5 = "购物车清单"def register():#注册模块    print("----------欢迎注册购物商场会员-----------")    while True:        name = input("请输入您需要注册的用户名:").strip()        with open('goldmenber.txt') as g:            goldname = g.read()        if name in goldname:            print(("抱歉,用户名%s已经被注册") % format(name))            continue        else:            g1 = open('goldmenber.txt','a')            g1.write(name)            g1.write('\n')            g1.close()            print(("恭喜您,用户名%s注册成功!")% format(name))            print("----------------------------------------")            breakdef shoppingcart(money):#已购物品清单模块    allcost = 0    print(str5.center(40,'-'))    print(str2.ljust(10),str3.ljust(10),str4.ljust(15))                                                   #左对齐输入物品名、价格、件数    for goods,price in shopcart:        print(goods.ljust(15),str(price).ljust(15),str(1).ljust(15))                                    #遍历购物车,打印购物车明细        allcost +=price    print(("您已经花费\033[44;36m¥%d\033[0m,还剩\033[41;36m¥%d\033[0m(按q退出购物,p打印当前已购商品)") % (allcost,money))    print('-'*45)def shopmall():#购物模块    money = 20000    while True:        print(str1.center(42,'-'))        for goods,prices in enumerate(goodslist):                                                        #遍历商品清单            print(goods,prices[0].ljust(30),'¥',prices[1])        goodselect = input(("您现在有\033[41;36m¥%d\033[0m,请选择需购买的商品编号(按q退出购物,p打印当前已购商品):") % money).strip()        if goodselect.isdigit() and (int(goodselect) < len(goodslist)):                                    #输入项为数值,且范围小于商品清单长度            goodselect = int(goodselect)            cost = int(goodslist[goodselect][1])            if money > cost:                money -=  cost                                                                            #第一次购物之后余额                shopcart.append([goodslist[goodselect][0],goodslist[goodselect][1]])                    #写入至购物车列表            else:                print("您的余额不足,您可以选择充值")                print(str5.center(40,'-'))                print(str2.ljust(10),str3.ljust(10),str4.ljust(15))                                       #左对齐输入物品名、价格、件数                for goods,price in shopcart:                    print(goods.ljust(15),str(price).ljust(15),str(1).ljust(15))                        #遍历购物车,打印购物车明细                print('-'*44)                rechargeselect = input("温馨提示:系统限制一次只能充值¥1000,选择充值(y/n):").strip()                if rechargeselect == 'y':                    print("充值中,已为您充值\033[44;36m¥1000\033[0m")                    money +=1000                elif rechargeselect == 'n':                    print(("您还剩\033[41;36m¥%d\033[0m,请继续购物") % money)                else:                    print("你的输入有误,回到购物界面")        elif goodselect == "q":            shoppingcart(money)            print(("尊敬的金会员%s,欢迎您下次再来") % format(name))            break        elif goodselect == "p":            shoppingcart(money)        else:            print("您输入的编号有误,请重新选择(按q退出购物,p打印当前已购商品)")if __name__ == '__main__':    print("-"*40)    print('***新年大酬宾,注册即送20000元购物卡***')    print("-"*40)    print("-----------欢迎来到购物商场------------")    name = input("输入您的会员卡号:").strip()    with open('goldmenber.txt') as g:        goldname = g.read()    if name in goldname:        print(("尊敬的金会员%s,您获得20000元的购物卡") % format(name))    else:        print("对不起,本商城只对会员开放,请先注册会员")        register()    shopmall()

 

 
 

 

转载于:https://www.cnblogs.com/mzpy1119/p/5160000.html

你可能感兴趣的文章
poj2263 zoj1952 Heavy Cargo(floyd||spfa)
查看>>
codeforces-339B
查看>>
一款原型设计工具“墨刀”的介绍
查看>>
Logger.getLogger和LogFactory.getLog的区别
查看>>
python学习笔记(六)— 模块
查看>>
国外整理的一套在线渗透测试资源合集
查看>>
滚动条插件Nicescroll用法
查看>>
设计模式17---享元模式
查看>>
Java 网络编程----基本概念
查看>>
基于上下文的访问控制
查看>>
暑期留校之iOS学习笔记
查看>>
jQuery 选择器
查看>>
Windows API 实现查找、删除任意类型的文件_VERSION20120612(vc6.0调试通过)(2012.6.12最新修改)...
查看>>
sql server清空日志文件
查看>>
seekbar 样式自定义
查看>>
bzoj1798: [Ahoi2009]Seq 维护序列seq
查看>>
[Effective JavaScript 笔记] 第14条:当心命名函数表达式笨拙的作用域
查看>>
ES6__class 的继承等相关知识案例
查看>>
room内部线宽:4mil , 外部线宽设置为6mil.从room内部走线到外。bgaroom:违反线宽6mil的规则????...
查看>>
tomcat启动时窗口一闪的解决办法
查看>>