# _*_coding:utf-8_*_# author:egon
'''dbfile 格式為
egon,egon123,100len,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...