python学习笔记——贰之购物车小程序_客户端

客户端大概流程 :买家系统 首先输入买家他的余额,之后会进行,通过文件里的来余额判断他是否上次消费过。如果有信息,就按照文件里的余额计算,替换掉买家输入的余额,如果没有信息证明客户是第一次来,就用买家输入的余额。 然后循环输出商品下标,和商品信息。客户通过下标来选择商品。选择的商品会被加入到 购物车列表 中,然后通过下标[1]得到商品的金额。计算出消费金额,这个消费金额 如果大于余额 那么 从购物车列表里删除这个商品 告知 余额不足,并提示买多少钱以内的商品。每加进一个商品,都会计算购物车的总金额并和余额进行对比。最后选择 “q” 退出。 购物车列表 和 余额 会被保存在两个文件当中。

商品信息文件内容
[‘Iphone‘, 5800],[‘Mac Pro‘, 9800],[‘Bike‘, 800],[‘Watch‘, 10600],[‘Coffee‘, 31],(‘pro‘, 1899), ,
购物车文件内容
[‘Iphone‘, 5800],[‘Iphone‘, 5800],[‘Iphone‘, 5800], ,

余额文件内容
17000

正式代码:

f = open(‘s1.txt‘,‘r‘,encoding=‘utf-8‘)

first_line = f.readline()

str2=first_line[0:-3]

b=eval(str2)

#一个空列表,当做购物车shopping_cart=[]#计算购物金额money=0money2=0money3=0

pd=True

#客户输入工资 转化成int类型sallry=int(input("请输入余额 >>>"))#读取存有余额的文件sallry_txt = open("Balance.txt","r")sallry_txt_line=sallry_txt.readline()sa=sallry_txt_line[0:]#如果读取的是整数 就把值给 工资if sa.isdigit():    sallry=int(sa)    print("您之前已经登录,余额是:",sallry)else:    #占位符什么都不做的意思    pass

while pd:#打印商品列表    for id,item in enumerate(b):        print(id+1,item)

ID=input(‘请输入选择的商品编号 >>‘)    #如果输入q就退出    if ID=="q" :         break    # 否则如果 输入的是整数 并且 大于0,小于 购物清单的最大编号 就加进购物车里    elif  ID.isdigit() and int(ID) > 0 and int(ID) < len(b)+1:        #加进购物车        shopping_cart.append(b[int(ID) - 1])        #循环购物车        for i in shopping_cart:            money += i[1]            #如果刚加入的        if money > sallry:            shopping_cart.pop()            for i2 in shopping_cart:                money2 += i2[1]            print("消费",money," 元 您的余额不足,请选购金额不超过",sallry-money2,"的商品")            money2=0            money=0        else:            for i3 in shopping_cart:                money3 += i3[1]                print("bug>>",i3)            sallry1 =sallry-money3            print("消费",money3,"元,剩余",sallry1,"元")            money3=0            money = 0            #最终余额            Balance=sallry1            sallry1=20000    else:        print("输入错误,重新输入")

print("本次购物结束,欢迎下次光临")#将购物清单写入files = open("shopping_cart.txt","w") # "w"shopping_cart.append(" ")for i in shopping_cart:    files.write(str(i))    files.write(",")files.close()

#将余额写入files2 = open("Balance.txt","w")files2.write(str(Balance))files2.close()
时间: 2024-10-26 09:16:20

python学习笔记——贰之购物车小程序_客户端的相关文章

python学习笔记——贰之购物车小程序_服务端

服务端大概流程:商家系统 用户可以对商品信息 进行 添加 和 修改,修改包括 删除 和修改功能首先读取文件中的商品信息,转化为列表,然后通过提示 对列表进行操作,最后将列表转成字符串保存到文本当中. 商品信息的文件格式没错就是多个两个逗号,暂时没有好的方法, ['Iphone', 5800],['Mac Pro', 9800],['Bike', 800],['Watch', 10600],['Coffee', 31],('pro', 1899), , #读取商品列表f = open('s1.tx

python学习笔记——贰

第二周 模块  库 相当于java导包 标准库 不用安装 第三方  需要安装 Python处理excel  读xlrd模块 写 XlsxWriter 模块 windows安装库很简单  python2执行  pip install pyexcelerator(模块名) Python 执行  pip3 install XXXXXX(模块名) 创建包的名字和python文件的名字不能和 (模块名)库名一样,否则会调取自身 import sys # 打印环境变量print(sys.path)#打印当前

Python学习笔记2:购物车(for,while循环;列表)

1 import sys 2 flag = True 3 list = [('mac',13500),('thinkpad',6700),('Iphone x',8800),('car',150000),('book',32),('bike',1000),('MP3',260)] 4 buy_file = open('C:/安装包/pycharm/day01/list.txt', 'w+') 5 while flag is True: 6 money = input('Please you de

python学习笔记10(用户交互程序)

注释 单行:# 多行:上下各用3个连续单引号或双引号 3个引号除了多行注释,还可以打印多行 举例: msg = name = (name) (msg) 运行结果第二个print就是打印3行字符串. 如果单行,用引号即可:msg = "Alex Li" python中,单引号和双引号相同,除了单套双或双套单. 例:msg = "I'm Alex Li" 用户输入 举例:  = () password = () (,password) 格式化输出 %s(string),

Python学习笔记(四) 列表生成式_生成器

笔记摘抄来自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317799226173f45ce40636141b6abc8424e12b5fb27000 本文章仅供自己复习使用,侵删: 列表生成器 # 例如,列出当前目录下的所有文件和目录名,可以通过一行代码实现: import os [d for d in os.listdir('.')] #for循环后面还可以加上

python 学习笔记 11 -- 使用参数使你的程序变得更性感

当然,在之前的系列中,我已介绍如何给 Python 脚本传参,当然,今天不会继续介绍这么无聊的东东.首先使用 python 的sys.argv 传参的话,就固定了参数的个数.顺序以及格式,这么死的规定如何性感? I have a dream , to make my code much sexer ! 今天我们简单介绍一下如何更加随性的给 python 脚本传参.效果如下: [email protected]:/tmp$ python arg.py -h NAME: project with u

python路5__购物车小程序练习

1,购物车小程序 需求: (1),启动程序后,打印全部商品列表,用户输入工资 (2),许用户根据商品编号购买商品 (3),用户购买商品,余额不足就退出程序,并打印信息 (4),可随时退出,退出时,打印已购买商品和余额 2,流程图 3,代码 #!/usr/bin/python3 Product_list = [ ('Doido钻戒 ',8000), ('ROLEX手表',20000), ('HuaWei P10',4000), ('AppleWatch',2000), ('Ipad',1000),

Python入门基础---购物车小程序

1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的余额 salary = int (input('你的工资为:')) funds = salary * 0.6 # 取工资的60% #自定义本地商品数据列表[商品名称,价格,库存] menu = [['保留使用,不存数据'],['iPhone7',6000,30],['Notebook',9000,3

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho