python学习--购物车2

将购物车程序分模块编程,购物车1写了登录 部分,下面改写购物部分:


#!/usr/bin/env python

product_list = [[‘Iphone7‘,5800],                [‘coffee‘,30],                [‘tea‘, 10],                [‘Python Book‘,99],                [‘Bike‘, 199],                [‘ViVo X9‘,2499]]

shopping_cart = {}

username = input("username:")print("****************************")password = input("password:")print("****************************")

i = 1while i <= 3:   #登录判断    if username == "maomao" and password == "123":        print("welecom to shopping maket")        break

elif i == 3:        print("input more than three times, try again after 2 hours")        break    else:        print("you put an wrong name or password,please input again")

i += 1    username = input("username:")    password = input("password:")

print("***************   系统操作说明   ****************")print("   q : 退出系统")print("   c : 账号充值")print("   h : 购物记录")print("   l : 商品列表")print("************************************************")

salary = 0while True: #充值判断    temp = input("you account is zear,please rechange money to buy:")

if temp.isdigit():        salary = int(temp)        break

print("you input a unknow number,please check it and input again!")

while True:    index = 0    for product in product_list:  #打印商品列表,在商品之前添加序号,购物时只需要选择序号即可        print(index,product)        index += 1

choice = str(input(">>:")).strip()

if choice.isdigit():  #判断输入是否为数据        choice = int(choice)        if choice >= 0 and choice < len(product_list):  #所选数字是否在商品序号范围内            product = product_list[choice]            if product[1] <= salary:   #账户所剩金额是否够支付所选商品                if product[0] in shopping_cart: #同一种商品,多次购买,实现商品数量叠加                    shopping_cart[product[0]][1] += 1                else:                    shopping_cart[product[0]] = [product[1], 1]                salary -= product[1]                print("\033[42;1mAdded product:"+ product[0] +" into shoing cart ,you current balance "                      + str(salary)+"\033[0m")            else: #账户余额不足提醒                print("\033[42;1m [warning] you balance is no enough\033[0m, product:"+str(product[1])+" short for "                      + str(product[1]-salary))        else:            print("You choice product is no in product_list")    elif choice == "q":  #退出        print("\033[34;1m---------------product list-----------------\033[0m")        print("\033[42;1m")        print("id   product       number pric Totalpric")        index = 1        total_mon = 0

f = open("product.txt","a+",encoding="utf8")  #因为要记录多次购物记录,所以此处打开模式为追加写        import datetime

for i in shopping_cart.keys():  #打印购物列表,并打印商品数量,以及金额            total_mon += shopping_cart[i][1] * shopping_cart[i][0]

print("%d %10s %7d %7d %7d" %(index,i,shopping_cart[i][1], shopping_cart[i][0],            shopping_cart[i][1] *shopping_cart[i][0]))

if index == 1:                now_time = datetime.datetime.now().strftime(‘[%Y-%m-%d]‘)                f.write(now_time +"\n")            f.write(i+ "%7d"%+shopping_cart[i][0]+"\n")  #保存购物列表            f.write(i + "\n")            index += 1        f.close()

print("you pay money is:", total_mon)        print("you level money is:", salary)        print("\033[0m")        print("\033[34;1m-------------end-------------\033[0m")        break    elif choice == "c":  #充钱        salary += int(input("please input you recharge:"))

print("当前账户余额:",salary)        continue    elif choice == ‘h‘:        f = open("product.txt", "r+", encoding="utf8")

for i in f:            print(i.strip())        continue    else:        print("You input wrong oper,please input again!")


				
时间: 2024-09-30 06:44:59

python学习--购物车2的相关文章

python学习--购物车4

模拟购物车的程序,是对之前学习的基础知识----字典.列表.文件的读写.字符的操作等知识的一次模拟练习,但在实际的编程中,将所有功能放在一个函数中实现,无疑减弱了程序的可读性和可维护性,购物车4引进了函数的概念,也将购物车需求经过整理如下: 要求 1.   登录功能 1>  登录验证:1.账户是否被锁定:2.验证用户为注册用户,登录密码是否正确,用户名与密码存放在文件中: 2>  验证失败三次,锁定账户,锁定账户在五分钟内不能再次登录,锁定账: 户存放在文件中. 2.   账户充值 1>

python学习-购物车小程序

购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功.附加:可充值.某商品移除购物车 1 goods = [ 2 {"name": "电脑", "price": 1999}, 3 {"name": "鼠标", "price": 10}, 4 {"name":

python学习--购物车1

购物车程序,程序要求如下: 1. 商品信息- 数量.单价.名称 2. 用户信息- 帐号.密码.余额 3. 用户可充值 4. 购物历史信息 5. 允许用户多次购买,每次可购买多件 6. 余额不足时进行提醒 7. 用户退出时 ,输出本次购物信息 8. 用户下次登陆时可查看购物历史 9. 商品列表分级 该程序涉及到的知识有:1.条件判断:2.循环应用:3.字典,以及列表的应用:4.文件的读写操作. 先写登录操作部分代码: #登录操作 username = input("username:")

python学习--购物车3

根据购物车题目的需求,本次分享的程序是将商品列表分级显示,例如:生活用品| |牙膏 |牙刷 |毛巾 家用电器| |电饭锅 即将列表存储商品信息,改成由字典来存放,程序如下: #初始化产品菜单 product_list = {"生活用品":[['毛巾',20], ['洗衣液',80], ['衣架', 10], ['洗衣粉',60], ['洗发水', 80], ['厕洗剂',50]], "家电":[['电视机',5000], ['电饭煲',300], ['电磁炉',20

python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候.呵呵!!! 这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点. python的简介 (1)你的程序一定要有个主文件. (2)对于python,一切事物都是对象,对象基于类创建.#似懂非懂,不过有那么点似懂. 知识点 #__divmod__ 会把两个数字相除的商和余数以元组的方式

Python学习day5作业-ATM和购物商城

Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息- 数量.单价.名称 用户信息- 帐号.密码.余额 用户可充值 购物历史信息 允许用户多次购买,每次可购买多件 余额不足时进行提醒 用户退出时 ,输出当次购物信息 用户下次登陆时可查看购物历史 商品列表分级显示 1

python练习——购物车程序

思路: 1.首先生成一个用户字典文件,元素包含用户名,密码,余额,购物车清单.数量 2.导入字典内容,用于验证登录和记录用户信息 3.首页可以选择登录.注册和浏览商品列表 4.注册模块,要根据字典key值判断用户是否存在,存在就返回,不存在创建,密码字数限制没有做,getpass模块在window平台报错,没有写 5.登录模块,根据字典内容验证,验证成功登录,不成功询问是否注册,三次验证失败退出程序 6.登录成功后,判断用户字典中是否存在余额,不存在则要求用户输入金额,并保存在字典中 7.打印商

Python学习系列(四)Python 入门语法规则2

Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, utf8解码成Unicode,再将unicode编码成gbk 对于py3.5 如果utf8>gbk, utf8 直接编码成gbk(中间那一步直接被优化了) 3.很多时候,这个可以直接跳过,只有当编码出下问题的时候,再考虑这个知识点 二.运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算

python学习---购物商场与ATM

[软件说明& 注意事项] 1.购物商场&ATM程序开发环境: OS:64位Windows 7 IDE:pycharm4.0.4 python版本:3.5.1 32位 2.购物商场&ATM程序只做python学习使用,版权有作者所有,未经过作者本人同意,不得将此购物商场&ATM程序应用于商业用途. 目录结构如下: shopmall_atm |--shopmall | |--shopmall_handle.py | |--__init__.py |--atm | |--atm_