第十天作業

2022-09-13 10:33:12 字數 2644 閱讀 9642

用函式實現猜年齡遊戲(含登陸註冊功能)

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 小公尺 定義建立列表函式 引數為...