註冊購買商品加充值

2022-05-15 15:41:41 字數 4470 閱讀 4954

# _*_coding:utf-8_*_

# author:egon

'''dbfile 格式為

egon,egon123,100

len,123,0

wxx,123,0

lxx,123,100

cls,123,361

'''

import os

product_list = [['iphone7',5800],

['coffee',30],

['疙瘩湯',10],

['python book',99],

['bike',199],

['vivo x9',2499],

]shopping_cart={}

current_userinfo=

db_file=r'dbfile.txt'

while true:

print('''

1 登陸

2 註冊

3 購物

''')

choice=input('>>: ').strip()

if choice == '1':

#1、登陸

tag=true

count=0

while tag:

if count == 3:

print('\033[45m嘗試次數過多,退出。。。\033[0m')

break

uname = input('使用者名稱:').strip()

pwd = input('密碼:').strip()

with open('dbfile', 'r', encoding='utf-8') as f:

for line in f:

line=line.strip('\n')

user_info=line.split(',')

#print(user_info)

uname_of_db=user_info[0]

pwd_of_db=user_info[1]

balance_of_db=int(user_info[2])

if uname == uname_of_db and pwd == pwd_of_db:

print('\033[48m登陸成功\033[0m')

# 登陸成功則將使用者名稱和餘額新增到列表

current_userinfo=[uname_of_db,balance_of_db]

print('使用者資訊為:',current_userinfo)

tag=false

break

else:

print('\033[47m使用者名稱或密碼錯誤\033[0m')

count+=1

elif choice == '2':

uname=input('請輸入使用者名稱:').strip()

while true:

pwd1=input('請輸入密碼:').strip()

pwd2=input('再次確認密碼:').strip()

if pwd2 == pwd1:

break

else:

print('\033[39m兩次輸入密碼不一致,請重新輸入!!!\033[0m')

balance=input('請輸入充值金額:').strip()

with open('dbfile','a',encoding='utf-8') as f:

f.write('%s,%s,%s\n' %(uname,pwd1,balance))

elif choice == '3':

if len(current_userinfo) == 0:

print('\033[49m請先登陸...\033[0m')

else:

#登陸成功後,開始購物

uname_of_db=current_userinfo[0]

balance_of_db=current_userinfo[1]

print('尊敬的使用者[%s] 您的餘額為[%s],祝您購物愉快' %(

uname_of_db,

balance_of_db

))tag=true

while tag:

for index,product in enumerate(product_list):

print(index,product)

choice=input('輸入商品編號購物,輸入q退出》: ').strip()

if choice.isdigit():

choice=int(choice)

if choice < 0 or choice >= len(product_list):continue

pname=product_list[choice][0]

pprice=product_list[choice][1]

if balance_of_db > pprice:

if pname in shopping_cart: # 原來已經購買過

shopping_cart[pname]['count']+=1

else:

shopping_cart[pname]=

balance_of_db-=pprice # 扣錢

current_userinfo[1]=balance_of_db # 更新使用者餘額

print("added product " + pname + " into shopping cart,\033[42;1myour current\033[0m balance " + str(balance_of_db))

else:

print("買不起,窮逼! 產品**是,你還差".format(

price=pprice,

lack_price=(pprice - balance_of_db)

))print(shopping_cart)

elif choice == 'q':

print("""

---------------------------------已購買商品列表---------------------------------

id 商品 數量 單價 總價

""")

total_cost=0

for i,key in enumerate(shopping_cart):

print('%22s%18s%18s%18s%18s' %(

i,key,

shopping_cart[key]['count'],

shopping_cart[key]['pprice'],

shopping_cart[key]['pprice'] * shopping_cart[key]['count']

))total_cost+=shopping_cart[key]['pprice'] * shopping_cart[key]['count']

print("""

您的總花費為: %s

您的餘額為: %s

---------------------------------end---------------------------------

""" %(total_cost,balance_of_db))

while tag:

inp=input('確認購買(yes/no?)>>: ').strip()

if inp not in ['y','n','y','n','yes','no']:continue

if inp in ['y','y','yes']:

# 將餘額寫入檔案

#src_file='db_file'

dst_file=r'%s.swap' %db_file

with open('dbfile','r',encoding='utf-8') as read_f,\

open(dst_file,'w',encoding='utf-8') as write_f:

for line in read_f:

if line.startswith(uname_of_db):

l=line.strip('\n').split(',')

l[-1]=str(balance_of_db)

line=','.join(l)+'\n'

write_f.write(line)

os.remove('dbfile')

os.rename(dst_file,'dbfile')

print('購買成功,請耐心等待發貨')

shopping_cart={}

current_userinfo=

tag=false

else:

print('輸入非法')

else:

print('\033[33m非法操作\033[0m')

Python商品購買 小程式

設計乙個程式,完成 英雄 商品的購買 展示商品資訊 折扣 輸入商品 輸入購買數量 提示付款 輸入付款金額 列印購買小票 擴充套件 print print 王者榮耀 折扣3.8折,需要支付28元人民幣 print a int input 請輸入購買數量 b 28 a print print 你購買的 ...

C 小商城購買系統。類似商品購買類系統

迴圈輸入商品編號和購買數量,系統自動計算每種商品的價錢 單價x數量 並累加總金額。當輸入n時結賬 假設享受8折優惠 結賬時,根據折扣計算應付金額,輸入實付金額,並找零 12 3using system for int k 1 k 0 k 數量 合計 shirt,b,totalprices if a ...

python基礎程式設計簡單案例 購買商品

goods dict 002 003 004 def goods info print 20 列印商品列表 20 print 商品編號 t商品名稱 t商品 for i in goods dict.keys print t t format i,goods dict i name goods dict...