zoukankan      html  css  js  c++  java
  • 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=0
    money2=0
    money3=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()
  • 相关阅读:
    CUBRID学习笔记 41 sql语法之select
    CUBRID学习笔记 40 使用net修改数据
    CUBRID学习笔记 39 net使用dataset 返回查询的数据
    CUBRID学习笔记 38 net调用java的函数过程
    CUBRID学习笔记 36 在net中添加多行记录
    CUBRID学习笔记 37 ADO.NET Schema Provider
    CUBRID学习笔记 35 net驱动错误码和信息 cubrid教程示例
    程序员应该关注的一些事儿
    如何区分一个程序员是“老手“还是“新手“?
    10个调试和排错的小建议
  • 原文地址:https://www.cnblogs.com/HL-blog/p/7348593.html
Copyright © 2011-2022 走看看