要求一:
1.启动程序后,然该用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
要求二:
用户输入:
1.商品信息存在文件里
2.已购商品,余额记录。
商家输入:
1.可以添加商品,修改商品价格
要求三:
将普通用户登录和商家用户登录 写成两个py文件。
python普通用户脚本
#!/bin/bash/env python
#python3.x
'''
要求一:
1.启动程序后,然该用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
要求二:
用户输入:
1.商品信息存在文件里
2.已购商品,余额记录。
'''
#获取当前时间
import time
date = time.strftime("%Y-%m-%d %H:%M:%S")
#读取商品列表
f =open("shangpin.txt","r")
wenzi = f.readlines()
f.close()
#读取用户列表
f = open("yh.txt","r")
ff = f.readlines()
f.close()
zhanghu_list = [] #列表用于临时存储 账户的名字;
zhanghu = {} #用于临时存储用户和余额 信息;
shopping_list = []
#循环用户名和余额并赋值给已定义好的 字典zhanghu ;
for i in ff:
k,v = i.strip().split(" ") #分别把账户和余额 去换行和空格后 赋值给 k v ;
zhanghu[k] = v #把key 和value 添加的字典zhanghu 里边 ;
shopping = {} #定义商品字典
#通过循环将读取的商品序号、名称、价格 添加到商品字典dict1里边
for i1 in wenzi:
ff1 = i1.strip("\n")
list1 = list(ff1.split(" "))
list2 = [] #open读取商品后的列表
for i2 in list1:
list2.append(list1[1])
list2.append(list1[2])
shopping[list1[0]] = list2
break
yonghu = input("请输入您的用户名:")
#循环字典:zhanghu 里边的key ,也就是用户列表,将值赋值到 已定义好的用户列表里 zhanghu_list ;
for aa in zhanghu.keys():
zhanghu_list.append(aa)
#判断输入的yonghu 是否在 已经存在的账户列表里;
if yonghu in zhanghu_list: #如果在输入的账户在 已经存在的列表里,打印您的余额是多少 ;
print("您的余额是{0}$:".format(zhanghu[yonghu]))
print("商品列表".center(30, "="))
for i2 in shopping:
print(i2, shopping[i2][0], shopping[i2][1])
else:
zhanghu[yonghu] = 0
print("添加新用户!\n您的余额是0$ !")
print("商品列表".center(30, "="))
for i2 in shopping:
print(i2, shopping[i2][0], shopping[i2][1])
while True:
chongzhi = input("您要充值吗? y/n :")
if chongzhi == "y":
while True:
gongzi = input("请输入您的工资:")
if gongzi.isdigit():
gongzi = int(gongzi) + int(zhanghu[yonghu])
print("您的余额是{0}$:".format(gongzi))
break
elif gongzi == "q":
exit()
else:
print("输入错误,请重新输入")
break
elif chongzhi == "n":
gongzi = int(zhanghu[yonghu])
break
else:
print("输入错误,请重新输入!")
while True:
print("商品列表".center(30, "="))
for i2 in shopping:
print(i2, shopping[i2][0], shopping[i2][1])
choice = input("请输入购买商品的编号:【按q退出】")
if choice.isdigit():
choice_1 = int(choice)
# 如果用户余额大于选择的商品的价格
if gongzi >= int(shopping[choice][1]):
shopping_wupin = [choice, shopping[choice][0], shopping[choice][1], date]
shopping_list.append(shopping_wupin)
gongzi = gongzi - int(shopping[choice][1])
print("您的余额是:{0}$".format(gongzi))
else:
print("您的余额不足!")
elif choice == "q":
print("您已购买以下商品".center(30, "="))
#打开用户已购买文件,讲已购买的商品列表写进去。
shangpin = open("yh-list.txt", "a")
for i3 in shopping_list:
print(i3[0], i3[1], i3[2], i3[3])
shangpin.write("\n")
shangpin.write(yonghu)
shangpin.write(" ")
shangpin.write(i3[0])
shangpin.write(" ")
shangpin.write(i3[1])
shangpin.write(" ")
shangpin.write(i3[2])
shangpin.write(" ")
shangpin.write(i3[3])
shangpin.close()
#打开用户文件,将用户和用户对应的余额写进去。
zhanghu[yonghu] = gongzi
save = open("yh.txt","w")
for zhanghu_save in zhanghu:
save.write(zhanghu_save)
save.write(" ")
save.write(str(zhanghu[zhanghu_save]))
save.write("\n")
save.close()
print("".center(38, "-"))
print("您的余额是:{yue}$".format(yue=gongzi))
exit()
else:
print("输入错误,请重新输入")
python商家用户脚本
#!/bin/bash/env python
#python3.x
'''
商家输入:
1.可以添加商品,修改商品价格
'''
#读取商品列表
f =open("shangpin.txt","r")
wenzi = f.readlines()
f.close()
shopping = {} #定义商品字典
#通过循环将读取的商品序号、名称、价格 添加到商品字典dict1里边
for i in wenzi:
ff = i.strip("\n")
list1 = list(ff.split(" "))
list2 = [] #open读取商品后的列表
for i2 in list1:
list2.append(list1[1])
list2.append(list1[2])
shopping[list1[0]] = list2
break
while True:
print("商品列表".center(30,"="))
# print(shopping)
for i in shopping:
print(i,shopping[i][0],shopping[i][1])
print("".center(34,"-"))
change = input("你要添加产品/修改产品:添加产品输入:1 修改产品输入:2 [按q退出]:")
if change == "1":
num = input("请输入产品序号:[例如:1]:")
name = input("请输入商品名称:[例如:自行车]:")
price = input("请输入商品价格:[例如:1000]:")
list3 = []
list3.append(name)
list3.append(price)
shopping[num] = list3
print(shopping)
elif change == "2":
num2 = input("请输入要修改的商品序号:[例:1]:")
name2 = input("您要修改商品名称吗? y/n:")
if name2 == "y":
change2 = input("请输入修改后的商品名称:[例:电视]:")
shopping[num2][0] = change2
elif name2 == "n":
pass
else:
print("输入错误,请重新输入!")
change3 = input("您要修改商品价格吗? y/n:")
if change3 == "y":
change4 = input("请输入修改后的商品价格:[例:1000]:")
shopping[num2][1] = change4
print(shopping)
elif name2 == "n":
print(shopping)
else:
print("输入错误,请重新输入!")
else:
save = open("shangpin.txt", "w")
for iii in shopping:
save.write(iii)
save.write(" ")
save.write(shopping[iii][0])
save.write(" ")
save.write(shopping[iii][1])
save.write("\n")
save.close()
exit()
转载于:https://blog.51cto.com/506554897/1939657