shangpin = open("shopping",'r',encoding="utf-8")
shangpin=list(shangpin)
shopping_list=[]deftest():for index, i inenumerate(shangpin):print(index, i)
mai= input("Want to buy what?>>>:")returnmaideftest_1():
jin= input("Please enter the amount:")ifjin.isdigit():
jin=int(jin)
loginSucces=FalsewhileTrue:
mai=test()ifmai.isdigit():
mai=int(mai)if mai < len(shangpin) and mai >=0:
kemai=shangpin[mai]
kemai= kemai.strip().split(',')
kemaii= int(kemai[1])if kemaii <=jin:
shopping_list.append(kemai)
jin-=kemaiiprint("\033[32;1mBuy the goods:%s,The balance remaining:%s\033[0m" %(kemai, jin))
loginSucces=FalsewhileTrue:
jixu= input("继续购买按y,或是退出按q:")ifjixu.isalpha():
jixu=str(jixu)if jixu == 'y':break
if loginSucces == True:continue
elif jixu == 'q':print("\033[31;1m-----You bought the following goods altogether----")for p inshopping_list:print(p)
f= open("lock_file", 'a+', encoding="utf-8")
f.write("{\"%s\":{\"name\":\"%s\",\"shopping\":%s,\"remaining\":%s}}\n" %(str(username), str(username), str(shopping_list),
str(jin)))
f.close()if loginSucces == True: break
print("The balance remaining:%s\033[0m" %jin)
exit()if loginSucces == True: break
continue
else:print("Insufficient balance to buy:%s" %jin)
loginSucces=FalsewhileTrue:
jixu= input("继续购买按y,或是退出按qq:")ifjixu.isalpha():
jixu=str(jixu)if jixu == 'y':break
elif jixu == 'q':print("\033[31;1m-----You bought the following goods altogether----")for p inshopping_list:print(p)
f= open("lock_file", 'a+', encoding="utf-8")
f.write("{\"%s\":{\"name\":\"%s\",\"shopping\":%s,\"remaining\":%s}}\n" %(
str(username), str(username), str(shopping_list),
str(jin)))
f.close()print("The balance remaining:%s\033[0m" %jin)
exit()if loginSucces == True:break
deftest_2():for date indataa:if username indate:print(dataa[username])else:continuejin= dataa[username]["remaining"]
jine=jin
jin=str(jin)ifjin.isdigit():
jin=int(jin)
loginSucces=FalsewhileTrue:
mai=test()ifmai.isdigit():
mai=int(mai)if mai < len(shangpin) and mai >=0:
kemai=shangpin[mai]
kemai= kemai.strip().split(',')
kemaii= int(kemai[1])if kemaii <=jin:
aa= dataa[username]["shangpin"]
aaa=aa
aaa=str(aaa)
shopping_list= dataa[username]["shangpin"]
shopping_list.append(kemai)print(shopping_list)
shopping_li=shopping_list
shopping_li=str(shopping_li)
jin-=kemaii
jin=str(jin)
jine=str(jine)print("\033[32;1mBuy the goods:%s,The balance remaining:%s\033[0m" %(kemai, jin))
loginSucces=FalsewhileTrue:
jixu= input("继续购买按y,或是退出按q:")ifjixu.isalpha():
jixu=str(jixu)if jixu == 'y':break
if loginSucces ==True:continue
elif jixu == 'q':print("\033[31;1m-----You bought the following goods altogether----")for p inshopping_list:print(p)
with open("lock_file","r",encoding="utf-8") as f:
lines=f.readlines()
with open("lock_file","w",encoding="utf-8") as f_w:for line inlines:if username inline:
line=line.replace(aaa,shopping_li)
f_w.write(line)
f_w.close()
with open("lock_file", "r", encoding="utf-8") as f:
lines=f.readlines()
with open("lock_file", "w", encoding="utf-8") as f_q:for line inlines:if username inline:
line=line.replace(jine,jin)
f_q.write(line)
f_q.close()print("The balance remaining:%s\033[0m" %jin)
exit()if loginSucces == True: breakusername= input('xinuser:').strip()
with open("lock_file",'r',encoding="utf-8") as f:for data inf:if len(data) !=0:
dataa=eval(data)for date indataa:
daa=dateif username indaa:break
elif username not indaa:continuetest_2()else:
password= input('passwd:').strip()
test_1()