python生日礼物代码_Python小练习-购物商城(一部分代码,基于python2.7.5)

这是一个基于Python2.7.5的简单购物商城代码实现,包括用户登录、注册、账号锁定等功能。用户信息存储在文本文件中,程序通过读取文件进行身份验证和操作。用户可以查看商品列表,注册新账号,并进行密码输入验证。
摘要由CSDN通过智能技术生成

#!/usr/bin/env python#coding:utf-8

importsysclassShop(object):def __init__(self):

self.Red= "\033[1;31m"self.Gre= "\033[1;32m"self.Res= "\033[0m"with open('user_file.txt','r') as fp:

user_list= eval(fp.readline()) #用户的名字与密码转换成字典

with open('lock_name.txt','r') as fp2:

lock_name= eval(fp2.readline()) #锁定的用户为列表

with open('money_list.txt','r') as fp3:

money_list=eval(fp3.readline())defnameCheck(self,a):if a in self.user_list and a not inself.lock_name:return 0 #如果名字在user_file里面,且没在锁定文件里面的话,返回0

elif a in self.user_list and a inself.lock_name:return 1 #名字在user_file里面,且被锁定,返回1

else:return 2 #否则返回2

defpasswdCheck(self,a,b):

count= 3

while count > 1:try:if b ==self.user_list[a]:return0else:

count-= 1

print "密码错误,剩余%d次" %count

b= raw_input("请再次输入你的密码:")exceptKeyError :return 2

else:return 1

defcheckAfter(self,b,c,dd):if b == 0 and c ==0 :print self.Gre,"恭喜你(%s),登陆成功!!!,欢迎你来到我们的商店!"%dd,self.Res #成功后动作进到商店

self.shopCounts()elif b == 1:print self.Red,"对不起,你(%s)的账号被锁定,请联系客服!!!"%dd,self.Res #不成功则动作回到初始位置

pass

elif c == 1:print "密码错误,账号将被锁定"self.nameLock(dd)else:print self.Red,"账号(%s)不存在,是否创建用户"%dd,self.Res #不存在则动作到注册位置

self.signName()defshopCounts(self):

shop_list= {"phone":2000,"ipad":1500,"ice_box":500}for key,value inshop_list.items():print key,":",value #打印商店内容

defsignName(self):whileTrue:

sign_name= raw_input("请输入你要注册的账号:")

value=self.nameCheck(sign_name)

passwd= raw_input("输入你的密码:")if value == 2:print "congratulations,账号可用"money= raw_input("输入账号资金:")ifmoney.isdigit():print """name: %s

passwd: %s

money: %d""" %(sign_name,passwd,int(money))

self.user_list.setdefault(sign_name,passwd)

self.money_list.setdefault(sign_name,money)

confirm= raw_input("是否确认以上信息:")if confirm.upper() == "Y":

with open('user_file.txt','r+') as fp:

fp.write(str(self.user_list))

with open('money_list.txt','r+') as fp2:

fp2.write(str(self.money_list))break

else:print "重新来过"

continue

else:print "资金错误,返回重来"

continue

else:print "账号不可用"

continue

defnameLock(self,a):

self.lock_name.append(a)

with open('lock_name.txt','r+') as fp:

fp.write(str(self.lock_name))

maomao=Shop()whileTrue:

name= raw_input("请输入你的账号:")if name.upper() == "Q":

sys.exit()else:

passwd= raw_input("请输入你的密码:")

b=maomao.nameCheck(name)

c=maomao.passwdCheck(name,passwd)

maomao.checkAfter(b,c,name)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值