python实现淘宝购物系统


Posted in Python onOctober 25, 2019

本文实例为大家分享了python淘宝购物系统的具体代码,供大家参考,具体内容如下

代码如下:

#刚创建账户所拥有的钱
money = 0


#定义商品列表
goods_list = [
{'name':'iphone','price':4500,'count':40},
{'name':'电脑','price':7000,'count':100},
{'name':'平板','price':5000,'count':60},
{'name':'羽绒服','price':500,'count':80},
{'name':'西服','price':1000,'count':90},
{'name':'运动鞋','price':200,'count':120},
{'name':'vivo','price':2000,'count':200},
{'name':'自行车','price':2100,'count':300}]

#创建空的购物车
shoppingCar = []

#创建订单列表
order = []

#注册账户
def register():
 print('→'*8,'注册账号','←'*8)
 global account
 global password
 account = input('请输入账号')
 password = input('请输入密码')
 password1 = input('请确认密码')
 while True:
 if password == password1:
 print('→'*8,'注册成功','←'*8)
 log_in()
 break
 else:
 password = input('请重新输入密码')
 password1 = input('请确认密码')


#登录
def log_in():
 print('~'*10,'登录账号','~'*10)
 while True:
 user_account = input('请输入您的账号')
 user_password = input('请输入您的密码')
 if user_account != account:
 print('账号有误')
 elif user_account == account and user_password != password:
 print('密码有误')
 else:
 print('~'*10,'登录成功','~'*10)
 show_menu()
 break

#展示商品列表
def show_name():
 print('❤'*30)
 a = 0
 for i in range(0,len(goods_list)):
 for key in goods_list[i].keys():
 if key == 'name':
 a += 1
 print(goods_list[i][key], end = '\t')
 if a % 4 ==0 :
 print('')
 print('❤'*30)


#选择操作
def show_menu():
 while True:
 print('※'*20)
 print('请选择您要执行的操作:')
 print('1、查询商品')
 print('2、查看购物车')
 print('3、查看订单')
 print('4、其他功能')
 print('5、退出系统')
 print('※'*20)
 choice = int(input())
 if choice == 1:
 show_name()
 search_shopping()
 elif choice == 2:
 show_shoppingCar()
 elif choice == 3:
 show_order()
 elif choice == 4:
 other()
 else:
 print('欢迎下次光临!')
 break

#添加商品至购物车
def add_shopping(name,price,count,total):
 dict = {}
 dict['name'] = name
 dict['price'] = price
 dict['count'] = count
 dict['total'] = total
 shoppingCar.append(dict)


#展示购物车
def show_shoppingCar():
 global money
 NeedMoney = 0
 for i in range(0,len(shoppingCar)):
 for key in shoppingCar[i].keys():
 print('*'*30)
 if key == 'name':
 print('商品名称:'+shoppingCar[i][key])
 elif key == 'price':
 print('商品单价:%d'%shoppingCar[i][key])
 elif key == 'count':
 print('商品数量:%d'%shoppingCar[i][key])
 elif key == 'total':
 print('商品总价:%d'%shoppingCar[i][key])
 NeedMoney += shoppingCar[i][key]
 print('一共需花费%d元'%NeedMoney)
 if money >= NeedMoney:
 money -= NeedMoney
 pay_shopping()
 print('一共花费%d元'%NeedMoney)
 else:
 print('余额不足')
 charge_money()

#清空购物车
def pay_shopping():
 print('是否支付 yes / no')
 user = input('')
 if user == 'yes':
 print('支付成功')
 order.extend(shoppingCar)
 shoppingCar.clear( )



#设置充值密码
def charge_pwd():
 global charge_password
 global money
 print('❀'*30)
 charge_password2 = input('请输入密码')
 charge_password1 = input('请确认密码')
 while True:
 if charge_password1 == charge_password2:
 charge_password = charge_password1
 print('❀'*10,'设置成功','❀'*10)
 show_menu()
 break


#充值金额
def charge_money():
 global money
 print('是否充值 yes / no')
 user = input('')
 if user == 'yes':
 while True:
 user = input('请输入密码')
 if user == charge_password:
 while True:
  chargeMoney = int(input('请输入充值金额'))
  if chargeMoney % 100 != 0:
  print('请输入充值金额')
  else:
  money += chargeMoney
  print('充值成功')
  break
 break
 else:
 print('密码有误')



#添加至订单

def add_order(name,price,count,total):
 dict = {}
 dict['name'] = name
 dict['price'] = price
 dict['count'] = count
 dict['total'] = total
 order.append(dict)



#展示订单
def show_order():
 cost_money = 0
 #总共花费的钱
 for i in range(0,len(order)):
 for key in order[i].keys():
 print('*'*50)
 if key == 'name':
 print('商品名称:'+order[i][key])
 elif key == 'price':
 print('商品单价:%d'%order[i][key])
 elif key == 'count':
 print('商品数量:%d'%order[i][key])
 elif key == 'total':
 print('商品总价:%d'%order[i][key])
 cost_money += order[i][key]
 print('总共花费%d元'%cost_money)


#查找商品
def search_shopping():
 name = input('请输入您要查询的名称:')
 isExist = False
 for i in range(0,len(goods_list)):
 if isExist:
 isExist = False
 break
 dict = goods_list[i]
 if dict['name'] == name:
 print('商品名称:'+name)
 print('商品单价:%d'%dict['price'])
 print('商品库存:%d'%dict['count'])
 if dict['count'] != 0 : 
 print('请选择一下功能:\n1、购买\n2、添加至购物车\n3、返回上一项')
 choice = int(input())
 if choice == 1:
  buy_shopping(dict)
  isExist = True
 elif choice == 3:
  search_shopping()
 elif choice == 2:
  num = int(input('请选择添加至购物车的数量:'))
  while True:
  if num > dict['count']:
  print('超出总量限制,请重新输入!')
  num = int(input('请选择添加至购物车的数量:'))
  else:
  add_shopping(dict['name'],dict['price'],num,dict['price']*num)
  isExist = True
  print('添加成功')
  break
 else:
  print('输入有误,再见!')
 else:
 if i == len(goods_list)-1:
 print('该商品不存在,请重新选择功能!')


#购买商品
def buy_shopping(dict):
 global money
 if dict['count'] == 0:
 print('该商品已售空,请选择其他商品')
 else:
 while True:
 num = int(input('请输入购买的数量:'))
 if num <= dict['count']:
 needMoney = num * dict['price']
 if money < needMoney:
  print('余额不足,请充值或修改购买数量!')
 else:
  money -= needMoney
  dict['count'] -= num
  print('购买成功!')
  add_order(dict['name'],dict['price'],num,dict['price']*num)
 break
 else:
 print('库存不足,请重新输入')


#其他功能
def other():
 print('△'*30)
 print('请选择您要执行的操作:')
 print('1、充值')
 print('2、更改登录密码')
 print('3、更改充值密码')
 print('4、查看余额')
 choice = int(input())
 if choice == 1:
 print('是否选择设置充值密码 yes/ no')
 a = input()
 if a == 'yes' :
 charge_pwd()
 else:
 charge_money()
 elif choice == 2:
 change_password()
 elif choice == 3:
 changeCPWD()
 elif choice == 4:
 print('余额为%d元'%money)

#更改登录密码
def change_password():
 global password
 while True:
 print('☆'*30)
 a = input('输入新密码')
 b = input('确认密码')
 print('☆'*30)
 if a == b:
 password = a
 print('请重新登录')
 log_in()
 break
 else:
 print('重新输入')


#更改支付密码
def changeCPWD():
 global charge_password
 while True:
 print('◇'*30)
 a = input('输入新密码')
 b = input('确认密码')
 print('◇'*30)
 if a == b:
 charge_password = a
 break
 else:
 print('重新输入')

register()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python编写android截屏脚本双击运行即可
Jul 21 Python
python人人网登录应用实例
Sep 26 Python
python使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
以一个投票程序的实例来讲解Python的Django框架使用
Feb 18 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
win7上python2.7连接mysql数据库的方法
Jan 14 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
python实现滑雪者小游戏
Feb 22 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
Python从文件中读取数据的方法步骤
Nov 18 Python
基于Python爬取搜狐证券股票过程解析
Nov 18 Python
DJANGO-URL反向解析REVERSE实例讲解
Oct 25 #Python
python计算n的阶乘的方法代码
Oct 25 #Python
Python OrderedDict的使用案例解析
Oct 25 #Python
python编写计算器功能
Oct 25 #Python
Python实现快速排序的方法详解
Oct 25 #Python
python实现超市商品销售管理系统
Oct 25 #Python
Python列表元素常见操作简单示例
Oct 25 #Python
You might like
一周学会PHP(视频)Http下载
2006/12/12 PHP
PHP 编写的 25个游戏脚本
2009/05/11 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
JavaScript实现简单的拖动效果
2016/07/02 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
开学典礼演讲稿
2014/05/23 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
第一书记观后感
2015/06/08 职场文书
蜗居观后感
2015/06/11 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
MySQL 数据类型选择原则
2021/05/27 MySQL
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫