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入门之实现简单的购物车功能的更多相关文章

  1. Python入门一:简单得不能再简单了##

    从python的语法上看,简单得不能再简单了. 想学它,请移步廖雪峰python2.7教程以及python3.这实在是最好的入门教程.参考资料太多: 外国的教程 Python 入门指南 Python ...

  2. 大爽Python入门教程 1-1 简单的数学运算

    大爽Python入门公开课教案 点击查看教程总目录 1 使用pycharm建立我们的第一个项目 打开pycharm,点击菜单栏,File->New Project 在Location(项目地址) ...

  3. 大爽Python入门教程 1-3 简单的循环与判断

    大爽Python入门公开课教案 点击查看教程总目录 这里只初步认识下循环和判断,以便于我们去实现一些简单的计算. 循环和判断的详细知识和细节,我们将在后面的章节(大概是第三章)展开阐述. 1 初步了解 ...

  4. jQuery使用cookie与json简单实现购物车功能

    本文实例讲述了jQuery使用cookie与json简单实现购物车的方法.分享给大家供大家参考,具体如下: 1.生成一个cookie 用来存储商品的id  String类型 2.添加商品id的时候 把 ...

  5. python入门:模拟简单用户登录(自写)

    #!/usr/bin/env python # -*- coding: utf-8 -*- #模拟简单用户登录(自写) import getpass a = raw_input("Pleas ...

  6. 利用Vue实现一个简单的购物车功能

    开始学习Vue的小白,dalao多多指正 想要实现下面这个界面,包含总价计算.数量增加和移除功能 话不多说代码如下 <!DOCTYPE html> <html> <hea ...

  7. Python实战之实现简单的购物车系统

    #!usr/bin/env Python3 # -*-coding:utf-8-*- # 程序:购物车程序 # # 需求: # # 启动程序后,让用户输入工资,然后打印商品列表 # 允许用户根据商品编 ...

  8. vuex——做简单的购物车功能

    购物车组件 <template> <div> <h1>vuex-shopCart</h1> <div class="shop-listb ...

  9. vue实现简单的购物车功能

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. POJ 2912 - Rochambeau - [暴力枚举+带权并查集]

    题目链接:http://poj.org/problem?id=2912 Time Limit: 5000MS Memory Limit: 65536K Description N children a ...

  2. hihocoder 1305 - 区间求差 - [hiho一下152周][区间问题]

    题目链接:https://hihocoder.com/problemset/problem/1305 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个区间集合 A ...

  3. python3学习笔记(2)_list-tuple

    # !/usr/bin/env python3 # -*- coding:utf-8 -*_ #list 和 tuple #list 是有序集合,可以用索引(下标)访问lsit中的每一个元素 #最后一 ...

  4. SQL中的四种语言DDL,DML,DCL,TCL

    1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...

  5. 分析 mongodb admin local 修改ip 热修改

    分析 mongodb   admin  local 更改ip前 [root@e ~]# mongo mongodb://admin:adminpwd123@10.144.114.152 MongoDB ...

  6. PHP漏洞

    http://os.51cto.com/art/201204/328766.htm 针对PHP的网站主要存在下面几种攻击方式: 1.命令注入(Command Injection) 2.eval注入(E ...

  7. OKEx货币对价格数量长度及精度

    长度 precisions = [["bch_btc","0.001","0.00000001"], ["ltc_btc" ...

  8. cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip

    在cocos2d-x使用中,须要不停的转换文件和压缩或解压文件.假设全人工来做,太麻烦了,且easy出错. 我如今把一些用的到批处理贴出来,供大家使用 自己主动把dat文件按数字排序重命名gz.DOS ...

  9. Linux Packages Search

    网站 : https://www.pkgs.org/ https://centos.pkgs.org/

  10. 混淆矩阵在Matlab中PRtools模式识别工具箱的应用

    声明:本文用到的代码均来自于PRTools(http://www.prtools.org)模式识别工具箱,并以matlab软件进行实验. 混淆矩阵是模式识别中的常用工具,在PRTools工具箱中有直接 ...