用函式實現猜年齡遊戲(含登陸註冊功能)
import random # 匯入隨機數模組
def register():
"""註冊"""
print('註冊功能')
count = 0
while count < 3:
username_inp = input('請輸入你的使用者名稱:')
pwd_inp = input('請輸入你的密碼:')
re_pwd_inp = input('請再次輸入你的密碼:')
if not pwd_inp == re_pwd_inp: # 判斷使用者密碼是否一致
print('密碼不一致')
count += 1
continue
with open(f'user_info.txt', 'a', encoding='utf8') as fa: # 將使用者資訊存入檔案中
fa.write(f':\n')
fa.flush() # 先儲存再執行
break
login()
def login():
"""登入"""
print('登入功能')
username_inp = input('請輸入你的使用者名稱:')
pwd_inp = input('請輸入你的密碼:')
with open(f'user_info.txt', 'r', encoding='utf8') as fr:
for user_info in fr:
username, pwd = user_info.split(':')
if username.strip() == username_inp and pwd.strip() == pwd_inp:
print('登陸成功,是否開始遊戲?') # 詢問使用者是否開始遊戲
while true:
begin_game = input('請輸入y/n:') # 判斷使用者的輸入是否正確
if begin_game != 'y' and begin_game != 'n':
print('請正確輸入')
if begin_game =='y': # 開始遊戲就呼叫猜年齡函式
guess_age()
break
if begin_game=='n':
print('歡迎下次再來')
break
else:
print('登入失敗')
def prize_info():
"""在檔案中讀取獎品"""
with open(r'prize.txt', 'r', encoding='utf-8') as fr:
prize_msg = fr.read()
prize_dict = eval(prize_msg) # 使用eval函式將開啟檔案讀取的字串轉為字典
return prize_dict,prize_msg
# print(prize_dict)
def guess_age():
"""猜年齡"""
age = random.randint(1, 50) # 在1-50隨機生成乙個整數
# print(age)
age_count = 0
while age_count < 3:
age_inp = input('請輸入你的猜測:')
if not age_inp.isdigit():
print('請輸入乙個數字:')
continue
age_inp_int = int(age_inp) # 轉為整型
if age_inp_int < age:
print('太小了')
elif age_inp_int > age:
print('太大了')
else:
print('猜對了')
get_prize(prize_info()[0], prize_info()[1]) # 猜對了呼叫獲得獎品函式,實參以索引的形式呼叫返回值
break
age_count += 1
def get_prize(prize_dict,prize_msg): # 形參為在檔案中讀取獎品函式中的返回值
"""獲得獎品"""
get_prize_dic = {}
print(f'獎品如下:\n')
prize_count = 0
while prize_count < 2:
prize_inp = input('請選擇你想要的獎品:')
if prize_inp not in prize_dict: # 使用者輸入的獎品不對,請使用者重新輸入
print('請重新選擇')
continue
prize = prize_dict[prize_inp]
print(f'恭喜獲得獎勵:')
if prize not in get_prize_dic:
get_prize_dic[prize] = 1
else:
get_prize_dic[prize] += 1
prize_count += 1
print(f'總共獲得獎品:,遊戲結束')
實習第十天
今天電梯有點慢,等得我半小時才到公司。今天弄資料庫介面工具的時候,被松哥按在地上摩擦了。今天加班,在下班的時候,久久等不到電梯,想起了 上有個應該需要修改,然後回公司修改,改了半天,發現還是原來的好,於是恢復原樣,我就下班了,有點搞笑。這段時間上火非常嚴重,整個人的狀態都不好,做事情也沒精神。面對各...
學習第十天
一 介面 jdk1.8及之後新增了2中可以定義存在方法體的方法 預設方法 default關鍵字修飾的方法 使用 通過實現類物件使用 靜態方法 使用 通過介面名去呼叫 二 單例模式 保證類只能存在乙個例項 餓漢式 先建立物件,然後需要的人要這個物件,保證永遠使用的都是這個建立好的物件 執行緒安全的,效...
前端第十天
function 1000,swing fn 小公尺輪播圖 設定5個div 通過給乙個類名定義屬性達到動畫效果,有左右點選事件及索引決定將類名新增給誰,且在索引達到極限時,重新將索引賦值,且同時將其他兄弟div移除類名,通過設定z index達到最上面為顯示的div 小公尺 定義建立列表函式 引數為...