<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
1、輸出歡迎介面還有登入註冊選單:
1).登陸
2).註冊 :保留使用者資訊,目前做不到固話,先註冊,註冊成功之後再選擇登入進去
使用者資訊包括:使用者名稱-密碼-初始金額
2.購物選單:
1).檢視商品資訊
2).充值金額
3).購買商品
4.檢視購物清單
5.退出
簡單實現購物功能,程式碼不是非常完善。
不建議將大部分的程式碼都寫在函數體內,函數只是用來實現某一個小的功能,能夠進行多次呼叫。接受使用者輸入等語句,儘量寫在主選單裡面,而不是函數體內。
""" @name : shopping.py @author : xieshan @projectname: 火影忍者 @time : 2022/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}} #註冊函數 def register(uname1, upasswd1, umoney): if umoney >= 100: user.update({uname1: {'passwd': upasswd1, '餘額': umoney}}) print(f"親愛的{uname1},恭喜您註冊成功!您的賬戶餘額為{umoney},趕緊去登陸吧!") elif umoney < 100: print(f"您充值的金額低於100,註冊失敗,請重新註冊") #登陸函數 def login(uname2,upasswd2): global c if upasswd2 == user[uname2]['passwd']: print(f"歡迎{uname2}使用者登陸成功!您的賬戶餘額為{user[uname2]['餘額']}") c = 1 elif uname2 in user and upasswd2 != user[uname2]['passwd']: print(f"抱歉!親愛的{uname2},您的密碼輸入錯誤!請重新輸入!您還有{3 - i}次機會") c = 0 #購買商品函數 def shop(): print("購買介面".center(100, '*')) sig2 = input("請將您選中的商品編號輸入在此(退出請按'q'):") if sig2 in dict: sig3 = input(f"請將{dict[sig2]['name']}的購買數量輸入在此:") if sig3.isdigit(): sig3 = int(sig3) if sig3 <= dict[sig2]['count']: total = sig3 * dict[sig2]['price'] if total <= 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'], '購買數量': sig3}) print(f"已購買{sig3}個{dict[sig2]['name']},花費{total}元,您的餘額為{umoney} ") else: print("抱歉!您的餘額不足,不能進行購買!請充值") return recharge() else: print("抱歉,本商品倉庫數量不足") else: print("您輸入的購買數量有誤!請重新輸入") return shop() elif sig2 == 'q': pass else: print("您輸入的編號有誤!請重新輸入!") return shop() #充值函數 def recharge(): print("充值介面".center(100, '*')) print(f"親愛的{uname2}使用者,目前您的賬戶餘額為 :{user[uname2]['餘額']}元") r_moeny = input("請輸入您要充值的金額(退出請按q):") if int(r_moeny) < 50: print("充值金額不得低於50哦!") return recharge() if r_moeny == 'q': pass else: r_moeny = float(r_moeny) umoney = r_moeny + user[uname2]['餘額'] for k in range(1,4): upasswd3 = input("請輸入您的登陸密碼進行驗證: ") if upasswd3 == user[uname2]['passwd']: user.update({uname2: {'passwd': upasswd2, '餘額': umoney}}) print(f"恭喜您,充值成功,目前您的賬戶餘額為:{user[uname2]['餘額']}元") break else: print(f"抱歉!親愛的{uname2},您的密碼輸入錯誤!充值失敗!請重新輸入!您還有{3 - k}次機會") #購物清單函數 def shop_car(): print("購物清單介面".center(100, '*')) if shopcar == [] : print("小主,這裡空空如也,趕緊到三樂購物商城去選購商品吧!") else: print("您的購物清單如下:") for j in shopcar: print(j) #主選單 count = 0 while count == 0: print("歡迎來到三樂購物系統!".center(100, '-')) print("1.註冊".center(80)) print("2.登陸".center(80)) print("3.退出".center(80)) option = input("請輸入您的選擇: ") if option == '1': print("登陸介面".center(100, '-')) uname1 = input("請設定您的使用者名稱(請將使用者名稱設定為3-10個字串的小寫字母): ") if uname1 in user.keys(): print("使用者名稱已經存在,請重新註冊!") elif uname1.islower() and 2 < len(uname1) < 11: upasswd1 = input("請設定您的密碼:(請將密碼設定為6位數位) ") if upasswd1.isdigit() and len(upasswd1) == 6: umoney = input("請輸入您要充值的金額(初次充值不得低於100):") umoney = float(umoney) register(uname1, upasswd1, umoney) else: print("您設定的密碼不符合規範!註冊失敗,請重新註冊") else: print("您設定的使用者名稱不符合規範,請重新設定!") elif option == '2': print("註冊介面".center(100, '-')) flag = 0 while flag == 0: uname2 = input("請輸入您註冊的使用者名稱: ") if uname2 not in user and uname2 == 'new come': flag = 1 elif uname2 not in user: print(f"抱歉!{uname2} 此使用者名稱不存在!請重新輸入或者註冊!輸入'new come'進入選單頁面") flag = 0 continue elif uname2 in user: for i in range(1, 4): upasswd2 = input("請輸入您的密碼: ") login(uname2,upasswd2) if c == 1: flag = 1 count = 1 shopcar = [] #用列表存放使用者已購買的商品 while 1: print("三樂購物系統".center(100, '#')) print("1、檢視商品".center(80)) print("2、賬戶充值".center(80)) print("3、購買商品".center(80)) print("4、檢視購物清單".center(80)) print("5、退出系統".center(80)) option2 = input("請輸入您的選擇:") if option2 == '1': print("目前三樂購物系統中有的商品資訊如下".center(100, "#")) for i in dict: print(i, end=': ') print(dict[i]) elif option2 == '2': recharge() elif option2 == '3': shop() elif option2 == '4': shop_car() elif option2 == '5': print(" 33[1;36m三樂購物系統歡迎您的下次光臨! 33[0m") exit() else: print("您的輸入有誤!請重新輸入!") print("請重新登陸!或者輸入'new come'進入選單頁面".center(100, '-')) elif option == '3': print(" 33[1;36m三樂購物系統歡迎您的下次光臨! 33[0m") exit() else: print("您的輸入有誤,請重新輸入!")
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45