




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第python實(shí)現(xiàn)網(wǎng)上購物系統(tǒng)本文實(shí)例為大家分享了python實(shí)現(xiàn)網(wǎng)上購物系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
1.購物商城的需求分析:
1、輸出歡迎界面還有登錄注冊(cè)菜單:
1).登陸
2).注冊(cè):保留用戶信息,目前做不到固話,先注冊(cè),注冊(cè)成功之后再選擇登錄進(jìn)去
用戶信息包括:用戶名-密碼-初始金額
2.購物菜單:
1).查看商品信息
2).充值金額
3).購買商品
4.查看購物清單
5.退出
2.代碼示例:
簡單實(shí)現(xiàn)購物功能,代碼不是非常完善。
不建議將大部分的代碼都寫在函數(shù)體內(nèi),函數(shù)只是用來實(shí)現(xiàn)某一個(gè)小的功能,能夠進(jìn)行多次調(diào)用。接受用戶輸入等語句,盡量寫在主菜單里面,而不是函數(shù)體內(nèi)。
"""
@name:shopping.py
@author:xieshan
@projectname:火影忍者
@time:2025/3/24
#存放已有的原始用戶
user={'root':{'passwd':'123456','余額':300},
'admin':{'passwd':'123123','余額':400}}
#存放商品信息
dict={'F001':{'name':'蘋果','price':4.2,'count':100},'F002':{'name':'香蕉','price':3.2,'count':100},
'F003':{'name':'棉花糖','price':10,'count':100},
'F004':{'name':'餅干','price':5.2,'count':100},'F005':{'name':'芒果','price':9.0,'count':100},
'F006':{'name':'雞蛋','price':3.0,'count':100},
'F007':{'name':'果凍','price':3.2,'count':100},'F008':{'name':'辣條','price':3.5,'count':100},
'F009':{'name':'牛奶','price':5.0,'count':100}}
#注冊(cè)函數(shù)
defregister(uname1,upasswd1,umoney):
ifumoney=100:
user.update({uname1:{'passwd':upasswd1,'余額':umoney}})
print(f"親愛的{uname1},恭喜您注冊(cè)成功!您的賬戶余額為{umoney},趕緊去登陸吧!")
elifumoney100:
print(f"您充值的金額低于100,注冊(cè)失敗,請(qǐng)重新注冊(cè)")
#登陸函數(shù)
deflogin(uname2,upasswd2):
globalc
ifupasswd2==user[uname2]['passwd']:
print(f"歡迎{uname2}用戶登陸成功!您的賬戶余額為{user[uname2]['余額']}")
c=1
elifuname2inuserandupasswd2!=user[uname2]['passwd']:
print(f"抱歉!親愛的{uname2},您的密碼輸入錯(cuò)誤!請(qǐng)重新輸入!您還有{3-i}次機(jī)會(huì)")
c=0
#購買商品函數(shù)
defshop():
print("購買界面".center(100,'*'))
sig2=input("請(qǐng)將您選中的商品編號(hào)輸入在此(退出請(qǐng)按'q'):")
ifsig2indict:
sig3=input(f"請(qǐng)將{dict[sig2]['name']}的購買數(shù)量輸入在此:")
ifsig3.isdigit():
sig3=int(sig3)
ifsig3=dict[sig2]['count']:
total=sig3*dict[sig2]['price']
iftotal=user[uname2]['余額']:
umoney=user[uname2]['余額']-total
user.update({uname2:{'passwd':upasswd2,'余額':umoney}})
dict.update({sig2:{'name':dict[sig2]['name'],'price':dict[sig2]['price'],'count':dict[sig2]['count']-sig3}})
shopcar.append({'商品名稱':dict[sig2]['name'],'購買數(shù)量':sig3})
print(f"已購買{sig3}個(gè){dict[sig2]['name']},花費(fèi){total}元,您的余額為{umoney}")
else:
print("抱歉!您的余額不足,不能進(jìn)行購買!請(qǐng)充值")
returnrecharge()
else:
print("抱歉,本商品倉庫數(shù)量不足")
else:
print("您輸入的購買數(shù)量有誤!請(qǐng)重新輸入")
returnshop()
elifsig2=='q':
pass
else:
print("您輸入的編號(hào)有誤!請(qǐng)重新輸入!")
returnshop()
#充值函數(shù)
defrecharge():
print("充值界面".center(100,'*'))
print(f"親愛的{uname2}用戶,目前您的賬戶余額為:{user[uname2]['余額']}元")
r_moeny=input("請(qǐng)輸入您要充值的金額(退出請(qǐng)按q):")
ifint(r_moeny)50:
print("充值金額不得低于50哦!")
returnrecharge()
ifr_moeny=='q':
pass
else:
r_moeny=float(r_moeny)
umoney=r_moeny+user[uname2]['余額']
forkinrange(1,4):
upasswd3=input("請(qǐng)輸入您的登陸密碼進(jìn)行驗(yàn)證:")
ifupasswd3==user[uname2]['passwd']:
user.update({uname2:{'passwd':upasswd2,'余額':umoney}})
print(f"恭喜您,充值成功,目前您的賬戶余額為:{user[uname2]['余額']}元")
break
else:
print(f"抱歉!親愛的{uname2},您的密碼輸入錯(cuò)誤!充值失敗!請(qǐng)重新輸入!您還有{3-k}次機(jī)會(huì)")
#購物清單函數(shù)
defshop_car():
print("購物清單界面".center(100,'*'))
ifshopcar==[]:
print("小主,這里空空如也,趕緊到三樂購物商城去選購商品吧!")
else:
print("您的購物清單如下:")
forjinshopcar:
print(j)
count=0
whilecount==0:
print("歡迎來到三樂購物系統(tǒng)!".center(100,'-'))
print("1.注冊(cè)".center(80))
print("2.登陸".center(80))
print("3.退出".center(80))
option=input("請(qǐng)輸入您的選擇:")
ifoption=='1':
print("登陸界面".center(100,'-'))
uname1=input("請(qǐng)?jiān)O(shè)置您的用戶名(請(qǐng)將用戶名設(shè)置為3-10個(gè)字符串的小寫字母):")
ifuname1inuser.keys():
print("用戶名已經(jīng)存在,請(qǐng)重新注冊(cè)!")
elifuname1.islower()and2len(uname1)11:
upasswd1=input("請(qǐng)?jiān)O(shè)置您的密碼:(請(qǐng)將密碼設(shè)置為6位數(shù)字)")
ifupasswd1.isdigit()andlen(upasswd1)==6:
umoney=input("請(qǐng)輸入您要充值的金額(初次充值不得低于100):")
umoney=float(umoney)
register(uname1,upasswd1,umoney)
else:
print("您設(shè)置的密碼不符合規(guī)范!注冊(cè)失敗,請(qǐng)重新注冊(cè)")
else:
print("您設(shè)置的用戶名不符合規(guī)范,請(qǐng)重新設(shè)置!")
elifoption=='2':
print("注冊(cè)界面".center(100,'-'))
flag=0
whileflag==0:
uname2=input("請(qǐng)輸入您注冊(cè)的用戶名:")
ifuname2notinuseranduname2=='newcome':
flag=1
elifuname2notinuser:
print(f"抱歉!{uname2}此用戶名不存在!請(qǐng)重新輸入或者注冊(cè)!輸入'newcome'進(jìn)入菜單頁面")
flag=0
continue
elifuname2inuser:
foriinrange(1,4):
upasswd2=input("請(qǐng)輸入您的密碼:")
login(uname2,upasswd2)
ifc==1:
flag=1
count=1
shopcar=[]
#用列表存放用戶已購買的商品
while1:
print("三樂購物系統(tǒng)".center(100,'#'))
print("1、查看商品".center(80))
print("2、賬戶充值".center(80))
print("3、購買商品".center(80))
print("4、查看購物清單".center(80))
print("5、退出系統(tǒng)".center(80))
option2=input("請(qǐng)輸入您的選擇:")
ifoption2=='1':
print("目前三樂購物系統(tǒng)中有的商品信息如下".center(100,"#"))
foriindict:
print(i,end=':')
print(dict[i])
elifoption2=='2':
rech
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CNFAGS 15-2024綠色合成氨分級(jí)標(biāo)準(zhǔn)(試行)
- T/CCS 038-2023無人快速定量智能裝車系統(tǒng)技術(shù)規(guī)范
- 正規(guī)勞動(dòng)合同書電子版6篇
- 租房合同家私家電補(bǔ)充協(xié)議7篇
- 上海核酸檢測(cè)試題及答案
- 中投集合資金信托合同3篇
- 【7語期末】渦陽縣2023-2024學(xué)年七年級(jí)下學(xué)期期末考試語文試題
- 房屋交易資金代收代付協(xié)議與房屋使用權(quán)轉(zhuǎn)讓合同3篇
- 大道十字段建設(shè)項(xiàng)目勞務(wù)作業(yè)合同5篇
- 民族建筑裝飾設(shè)計(jì)與應(yīng)用
- 2024信息安全風(fēng)險(xiǎn)評(píng)估報(bào)告模板
- 智慧農(nóng)業(yè)中的智能灌溉技術(shù)
- 工程檔案整理和數(shù)字化課件
- 餐飲業(yè)中的員工團(tuán)隊(duì)協(xié)作培訓(xùn)
- 中考語文課內(nèi)文言文知識(shí)點(diǎn)梳理+三年中考真題+模擬題 專題10 《唐雎不辱使命》三年中考+模擬題(原卷版+解析)
- 基于PLC的電梯控制系統(tǒng)設(shè)計(jì)
- 四川省2023年小升初語文試卷匯總六(含答案)
- 電梯鋼絲繩安全檢查與更換標(biāo)準(zhǔn)
- 鋼支撐(鋼管)強(qiáng)度及穩(wěn)定性驗(yàn)算
- 口暴服務(wù)流程
- 合伙買大貨車協(xié)議書
評(píng)論
0/150
提交評(píng)論