购物系统Mini
2018-07-21 本文已影响0人
Vsion8980
Python源码 (暂时无数据库)。。。
输入工资,打印商品列表。
根据商品编号购买商品。
选择商品后,检测余额。
可随时退出,并打印购买的商品和余额。
购物系统(Beta3.0)
新增了登录系统;
问题:
①登录配置文件必须手动创建于指定路径中;
②帐号ID/密码必须是数字;
③ID长度不可控;
④如果某ID的密码恰好为另一个ID的帐号,密码返回空值且不可登录;
⑤购物记录显示不清晰。
_author_:Mansion_Qiu
Goods = {'饮料': 3, '矿泉水': 1, '面包': 4, '可乐': 3.5, '冰淇凌': 5}
goodsNow = [];
His = [];
def register():
loginlog = open("cache/login.log", 'a')
id = int(input("请输入你的自定义ID(限6位):"))
pswd = int(input("请输入密码(仅数字!):"))
loginlog.write("%s\n" % id)
loginlog.write("%s\n\n" % pswd)
loginlog.close()
print("注册成功!")
def login():
loginlog=open('cache/login.log','r')
id = input("请输入你的自定义ID(限6位):")
pswd = int(input("请输入密码:"))
for line in loginlog:
if id in line:
f_password=loginlog.readline()
password=int(f_password)
if pswd==password:
print("登录成功!")
System()
else :
print("密码有误,请重新输入。")
login()
else:
print("无此ID,请注册。。。")
register()
loginlog.close()
def System():
salary = int(input("请输入你的工资:"))
i = 1
for goods in Goods.items():
print(i, goods)
goodsNow.append(goods);
i += 1;
Salary = 0
while Salary < salary:
Item = int(input("请输入你要购买的商品编号:"))
if Item > 0:
His.append(goodsNow[Item - 1])
salary = salary - goodsNow[Item - 1][1];
if Item == 0:
break
if salary >= 0:
pass
elif salary < 0:
salary = salary + His[-1][1]
print('您的余额不足!')
His.pop(-1)
print("您购买的商品如下:", His)
print("您的余额还剩:%d元" % salary)
main=int(input('请输入操作:1.登录,2.注册'))
if main==1:
login()
if main==2:
register()
while(1):
choose=input("是否要登录呢? y/n")
if choose=='y' or 'yes':
login()
elif choose=='n' or 'no':
exit()
else:
print("输入错误!")
购物系统(Beta2.0)
修复了余额不足时扣款错误的bug;
优化了代码运行效率;
问题:
① 购物记录显示不清晰。
_author_: Mansion_Qiu
Goods = {'饮料': 3, '矿泉水': 1, '面包': 4, '可乐': 3.5, '冰淇凌': 5}
goodsNow = [];
His = [];
salary = int(input("请输入你的工资:"))
i=1
for goods in Goods.items():
print(i,goods)
goodsNow.append(goods);
i +=1;
Salary = 0
while Salary < salary:
Item = int(input("请输入你要购买的商品编号:"))
if Item >0:
His.append(goodsNow[Item-1])
salary=salary-goodsNow[Item-1][1];
if Item==0:
break
if salary>=0:
pass
elif salary<0:
salary = salary + His[-1][1]
print('您的余额不足!')
His.pop(-1)
print("您购买的商品如下:",His)
print("您的余额还剩:%d元" % salary)
购物系统(Beta1.0)
问题:
① 余额不足时无法显示余额或余额为负。
② 购物清单不可去重。
_author_: Mansion_Qiu
Goods = ['饮料','矿泉水','面包','可乐','冰淇凌']
His=[];
salary = int(input("请输入你的工资:"))
for i in range(len(Goods)):
print(i+1,Goods[i])
Salary=0
while Salary<salary:
BuyItem=int(input("请输入你要购买的商品编号:"))
if BuyItem==1:
salary=salary-5;
His.append("饮料");
elif BuyItem==2:
salary=salary-1;
His.append("矿泉水");
elif BuyItem==3:
salary=salary-3;
His.append("面包");
elif BuyItem==4:
salary=salary-4;
His.append("可乐");
elif BuyItem==5:
salary=salary-5;
His.append("冰激凌");
elif BuyItem>5:
print("请输入正确的编号!");
elif BuyItem==0:
break;
if salary>=0 :
print("购买的商品:",",".join(His[:]),"余额:",salary);
elif salary<0:
del His[-1]
print("购买的商品:",",".join(His[:]));
print("余额不足,请充值。。。")