购物系统(涵盖了OOP编程以及数据采集(爬虫)的实现)
问题要求:
实现购物系统。
数据:
- 用户信息:
用户名(不能重复)、密码、用户信息(资金、电话、地址等…) - 商品信息:
商品名、商品价格 - 订单信息:
订单编号(随机数)、商品名、买家名、商品数量、邮寄地址、电话、下单时间…
备注:以上三种数据分别用类定义成对象,保存到全局列表中
要求:
a. 编写一级菜单并实现功能导航
1)用户注册(用户名不能重复)、两次密码验证)
2)用户登录(用户名是否存在、密码不显示、3次密码错误退出)
3)退出
b. 用户登录成功,进入二级菜单
- 用户存款(可以设置一个密码判断密码是否正确,如果正确允许充值,充值需做类型判断、负数判断)
- 修改密码
- 购买商品(可以把所有信息进行分类展示,并可根据商品名称进行商品购买,商品购买成功后,自动生成订单;
4)商品搜索(商品浏览时,可进行商品搜索)
5)实现全网手机价格排行展示,其中,数据可从淘宝、京东等平台实时爬取 - 订单操作(可以查看与自己相关的订单)
6)商品操作(提示用户是否成为卖家、如果成为卖家,可以进行商品的添加、删除、修改等操作)
具体代码实现如下:
import time
import random
class User():
UserList = [] #用户信息列表
Guanlist = [] #管理员信息列表
ShopList = [[{'商品':'杯子'},{'价格':'20'}],[{'商品':'牙刷'},{'价格':'10'}],[{'商品': '牙膏'}, {'价格': '15'}],[{'商品':'洗面奶'},{'价格':'40'}]]
DDxinxi = [] #订单信息列表
count = 0
def __init__(self):
self.__userName=None
self.__userPwd =None
self.__querenPwd = None
self.__czMiMa = None #充值密码
self.__shenFen =None
self.__zijin=0 #新用户默认资金
self.__phoneNum=None #用户电话
self.__area=None #用户地址
self.__xinXi = {"资金":self.__zijin,"电话":self.__phoneNum,"地址":self.__area}
self.__shopM = None #用户输入的购买商品的名称
self.__price =0 #对应商品的价格
def oneInterFace(self): #菜单首页
print("欢迎来勇哥购物系统")
print("="*30)
print("1.用户注册")
print("2.用户登陆")
print("3.退出")
while True:
x = int(input("请选择输入 1、2、3:"))
if x == 1:
self.zhuce()
break
elif x ==2:
self.login()
break
elif x ==3:
print("已退出")
break
else:
print("输入有误,请重新输入")
continue
break
def zhuce(self): #新用户注册界面
print("~"*30)
print("欢迎来到注册界面:")
while True:
self.__userName = input("请输入用户名:")
if self.__userName =="":
print("用户名不能为空,请重新输入")
continue
if self.__userName in User.UserList:
print("用户名重复,请重新输入!")
continue
else:
pass
self.__userPwd = input("请输入密码:") #后期要改
if self.__userPwd == "":
print("密码不能为空,请重新输入")
continue
self.__querenPwd = input("请再次输入确认密码:")
self.__czMiMa = input("请输入充值密码:")
self.__phoneNum = input("请输入电话号码:")
self.__area = input("请输入详细住址:")
if self.__userPwd != self.__querenPwd:
print("确认密码有误,请重新输入!")
continue
else:
userxinxi={"用户名":self.__userName,"密码":self.__querenPwd,"充值密码":self.__czMiMa,
"资金":self.__zijin,"电话号码":self.__phoneNum,"地址":self.__area}
User.UserList.append(userxinxi)
print("注册成功,快去登录吧!")
print("~"*30)
print(User.UserList)
self.oneInterFace()
break
break
def login(self): #用户登录界面
self