Python入门之实现简单的购物车功能
Talk is cheap,Let's do this!
product_list = [
['Iphone7 Plus', 6500],
['Iphone8 ', 8200],
['MacBook Pro', 12000],
['Python Book', 99],
['Coffee', 33],
['Bike', 666],
['pen', 2]
]
shopping_cart = [] f = open('user.txt', 'r')
lock_file = f.readlines()
f.close()
count = 0
user_list = {} while True:
if count == 3:
print("用户名输入次数到达3次限制")
break
for i in lock_file:
i = i.strip()
user_list[i.split('|')[0]] = {'password': i.split('|')[1]}
user_name = input("请输入您的用户名>>:")
if user_name not in user_list:
print("用户名错误")
count += 1
if user_name in lock_file:
print("用户名已锁定,请联系管理员!")
exit()
if user_name in user_list:
user_password = input("请输入您的密码>>: ")
if user_password == user_list[user_name]['password']:
print("欢迎登录电子商城")
while True:
salary = input("请输入您的工资:") # 输入金额
if not salary.isdigit(): # 判断输入的salary是不是数字
print("由于您的输入的工资不合法,请再次输入金额") # 输入金额不合法
continue
else:
salary = int(salary) # 把输入的数字转成整形
break
while True:
print(">> 欢迎来到电子商城 <<")
for index, i in enumerate(product_list): # 循环商品列表,商品列表索引
print("%s.\t%s\t%s" % (index, i[0], i[1])) # 打印商品列表,显示商品列表索引
choice = input(">>请输入商品序号或输入 exit 退出商城>>: ").strip()
if len(choice) == 0: # 判断输入字符串是否为空和字符串长度
print('-->您没有选择商品<--')
continue
if choice.isdigit(): # 判断输入的choice是不是一个数字
choice = int(choice) # 把输入的字符串转成整型
if choice < len(product_list) and choice >= 0: # 输入的整数必须小于商品列表的数量
product_item = product_list[choice] # 获取商品
if salary >= product_item[1]: # 拿现有金额跟商品对比,是否买得起
salary -= product_item[1] # 扣完商品的价格
shopping_cart.append(product_item) # 把选着的商品加入购物车
print("添加 \033[32;1m%s\033[0m 到购物车,您目前的金额是 \
\033[31;1m%s\033[0m" % (product_item[0], salary))
else:
print("对不起,您的金额不足,还差 \033[31;1m%s\033[0m" % (product_item[1] - salary,))
else:
print("-->没有此商品<--")
elif choice == "exit":
total_cost = 0
print("您的购物车列表:")
for i in shopping_cart:
print(i)
total_cost += i[1]
print("您的购物车总价是: \033[31;1m%s\033[0m" % (total_cost,))
print("您目前的余额是:\033[31;1m%s\033[0m" % (salary,))
break
break
else:
print("密码错误")
count += 1
if count == 3:
print("您输入的密码错误次数已达3次,将锁定您的用户!")
f = open('blacklist.txt', 'w')
f.write('%s' % user_name)
f.close()
break while True:
salary = input("请输入您的工资:") # 输入金额
if not salary.isdigit(): # 判断输入的salary是不是数字
print("由于您的输入的工资不合法,请再次输入金额") # 输入金额不合法
continue
else:
salary = int(salary) # 把输入的数字转成整形
break
while True:
print(">> 欢迎来到电子商城 <<")
for index, i in enumerate(product_list): # 循环商品列表,商品列表索引
print("%s.\t%s\t%s" % (index, i[0], i[1])) # 打印商品列表,显示商品列表索引
choice = input(">>请输入商品序号或输入 exit 退出商城>>: ").strip()
if len(choice) == 0: # 判断输入字符串是否为空和字符串长度
print('-->您没有选择商品<--')
continue
if choice.isdigit(): # 判断输入的choice是不是一个数字
choice = int(choice) # 把输入的字符串转成整型
if choice < len(product_list) and choice >= 0: # 输入的整数必须小于商品列表的数量
product_item = product_list[choice] # 获取商品
if salary >= product_item[1]: # 拿现有金额跟商品对比,是否买得起
salary -= product_item[1] # 扣完商品的价格
shopping_cart.append(product_item) # 把选着的商品加入购物车
print("添加 \033[32;1m%s\033[0m 到购物车,\
您目前的金额是 \033[31;1m%s\033[0m" % (product_item[0], salary))
else:
print("对不起,您的金额不足,还差 \033[31;1m%s\033[0m" % (product_item[1] - salary,))
else:
print("-->没有此商品<--")
elif choice == "exit":
total_cost = 0
print("您的购物车列表:")
for i in shopping_cart:
print(i)
total_cost += i[1]
print("您的购物车总价是: \033[31;1m%s\033[0m" % (total_cost,))
print("您目前的余额是: \033[31;1m%s\033[0m" % (salary,))
break
Python入门之实现简单的购物车功能的更多相关文章
- Python入门一:简单得不能再简单了##
从python的语法上看,简单得不能再简单了. 想学它,请移步廖雪峰python2.7教程以及python3.这实在是最好的入门教程.参考资料太多: 外国的教程 Python 入门指南 Python ...
- 大爽Python入门教程 1-1 简单的数学运算
大爽Python入门公开课教案 点击查看教程总目录 1 使用pycharm建立我们的第一个项目 打开pycharm,点击菜单栏,File->New Project 在Location(项目地址) ...
- 大爽Python入门教程 1-3 简单的循环与判断
大爽Python入门公开课教案 点击查看教程总目录 这里只初步认识下循环和判断,以便于我们去实现一些简单的计算. 循环和判断的详细知识和细节,我们将在后面的章节(大概是第三章)展开阐述. 1 初步了解 ...
- jQuery使用cookie与json简单实现购物车功能
本文实例讲述了jQuery使用cookie与json简单实现购物车的方法.分享给大家供大家参考,具体如下: 1.生成一个cookie 用来存储商品的id String类型 2.添加商品id的时候 把 ...
- python入门:模拟简单用户登录(自写)
#!/usr/bin/env python # -*- coding: utf-8 -*- #模拟简单用户登录(自写) import getpass a = raw_input("Pleas ...
- 利用Vue实现一个简单的购物车功能
开始学习Vue的小白,dalao多多指正 想要实现下面这个界面,包含总价计算.数量增加和移除功能 话不多说代码如下 <!DOCTYPE html> <html> <hea ...
- Python实战之实现简单的购物车系统
#!usr/bin/env Python3 # -*-coding:utf-8-*- # 程序:购物车程序 # # 需求: # # 启动程序后,让用户输入工资,然后打印商品列表 # 允许用户根据商品编 ...
- vuex——做简单的购物车功能
购物车组件 <template> <div> <h1>vuex-shopCart</h1> <div class="shop-listb ...
- vue实现简单的购物车功能
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
随机推荐
- ubuntu部署nginx
先更新本机内置的程序. sudo apt-get updatesudo apt-get upgrade再判断系统是否内置了add-apt-repository命令,如果没有执行下列命令安装 sudo ...
- Python 重定向获取真实url
通常的返回url: http_headers = { 'Accept': '*/*','Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (W ...
- Mongodb之使用rpm包安装配置启动
下载rpm包 wget https://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/RPMS/mongod ...
- Django ---- 基础题
一. 1.写出你所知道Djang有关的所有命令(下载.安装等) .安装django pip install django == .创建项目 diangoadmin startproject 项目名 ...
- numpy.ndarray的赋值操作
mat=zeros((3,4)) #生成一个3行4列全部元素为0的矩阵 mat[1,:]=111 #从第1行第0列开始,一直到最后一列,赋值为1,效果与mat[1,0:3]相同,前置0可以省略,最后的 ...
- 更改hosts操作
更改hosts操作: 1.打开文件夹目录:/etc/hosts 2.复制hosts文件 3.修改复制的文件 4.移动并替换到原来的hosts文件 5.鉴定输入密码操作成功 具体修改方案使用: 0.0. ...
- ElasticSearch报 EsThreadPoolExecutor[search, queue capacity = 1000, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@c0efba
ElasticSearch报以下错误的解决办法: "type": "es_rejected_execution_exception", "reason ...
- spring boot继承web和mybatis时,调用接口删除记录出现的空指针以及解决办法
前两天在学spring boot的时候,出现了一个很奇怪的错误,因为是第一次使用spring boot,所以没想到会遇到这种莫名其妙的bug,即调用接口删除数据库中一条记录的时候,数据库中记录事实上以 ...
- mybatis parameterType和resultType的顺序问题
有一次在写java web后端的代码中发现了一个问题,那就是我将parameterType放在resultType之前的时候,发现程序启动的时候突然报错,说找不到某某map,我也不知道,所以感觉非常怪 ...
- linux elasticsearch-5.1.1的安装
(一)下载elasticsearch linux安装包 https://www.elastic.co/downloads/past-releases,然后解压,然后要有对应的java8,即必须先安装j ...