python實(shí)現(xiàn)網(wǎng)上購物系統(tǒng)_第1頁
python實(shí)現(xiàn)網(wǎng)上購物系統(tǒng)_第2頁
python實(shí)現(xiàn)網(wǎng)上購物系統(tǒng)_第3頁
python實(shí)現(xiàn)網(wǎng)上購物系統(tǒng)_第4頁
python實(shí)現(xiàn)網(wǎng)上購物系統(tǒng)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論