day9函式作業詳解

2022-07-15 23:57:19 字數 4704 閱讀 3006

2,寫函式,檢查獲取傳入列表或元組物件的所有奇數字索引對應的元素,並將其作為新列表返回給呼叫者。

3,寫函式,判斷使用者傳入的物件(字串、列表、元組)長度是否大於5。

4,寫函式,檢查傳入列表的長度,如果大於2,將列表的前兩項內容返回給呼叫者。

5,寫函式,計算傳入函式的字串中, 數字、字母、空格 以及 其他內容的個數,並返回結果。

6,寫函式,接收兩個數字引數,返回比較大的那個數字。

7,寫函式,檢查傳入字典的每乙個value的長度,如果大於2,那麼僅保留value前兩個長度的內容,並將新內容返回給呼叫者。

dic =

ps:字典中的value只能是字串或列表

8,寫函式,此函式只接收乙個引數且此引數必須是列表資料型別,此函式完成的功能是返回給呼叫者乙個字典,此字典的鍵值對為此列表的索引及對應的元素。例如傳入的列表為:[11,22,33] 返回的字典為 。

9,寫函式,函式接收四個引數分別是:姓名,性別,年齡,學歷。使用者通過輸入這四個內容,然後將這四個內容傳入到函式中,此函式接收到這四個內容,將內容追加到乙個student_msg檔案中。

10,對第9題公升級:支援使用者持續輸入,q或者q退出,性別預設為男,如果遇到女學生,則把性別輸入女。

11,寫函式,使用者傳入修改的檔名,與要修改的內容,執行函式,完成整個檔案的批量修改操作(公升級題)。

12,寫乙個函式完成三次登陸功能,再寫乙個函式完成註冊功能(公升級題)

註冊:1.要從檔案中讀取使用者名稱和密碼,匹配使用者輸入的使用者名稱和檔案中的使用者名稱是否存在,如果存在,提示重新輸入。

2.如果上面的判斷沒有問題,把使用者名稱和密碼寫入到檔案中。

2.

lst = [1,2,9,4,'a','b','c']

def get_lst(x):

n_lst =

for i in range(len(x)):

if i%2 ==0:

return n_lst

ret = get_lst(lst)

print(ret)

def get_len(x):

return len(x) > 5

print(get_len('123451'))

def ret_lst(x):

if len(x)>2:

return x[:2]

else:

return '列表長度小於2'

lst = [133,2,1,23]

ret = ret_lst(lst)

print(ret)

def get_sum(x):

num = 0

pha = 0

space = 0

other = 0

for i in x:

if i.isdigit():

num +=1

elif i.isalpha():

pha +=1

elif i.isspace():

space +=1

else:

other +=1

return '''

數字:%d

字母:%d

空格:%d

其他:%d

''' %(num,pha,space,other)

ret = get_sum('123asdfa &*')

print(ret)

def i_num(a,b):

return a if a > b else b

ret = i_num(21,11)

print(ret)

dic1 =

def i_dic(dic):

new_dic = {}

for k,v in dic.items():

if len(v)>2:

s = v[0:2] #保留的值內容

new_dic[k] = s

else:

new_dic[k] = v

return new_dic

print(i_dic(dic1))

def r_dic(l):

if type(l) == list:

dic = {}

for i in range(len(l)):

dic[i] = l[i]

return dic

else:

return '輸入資料不是列表'

lst = [12,22,32]

ret = r_dic(lst)

print(ret)

def i_msg(name,gender,age,edu):

with open('student_msg','a+',encoding='utf-8') as f:

f.write("%s_%s_%d_%s\n"%(name,gender,age,edu))

name = input("輸入姓名:")

gender = input("輸入性別:")

age = int(input("輸入年齡:"))

edu = input("輸入學歷:")

i_msg(name,gender,age,edu)

def i_msg(name,age,edu,gender='男'):

with open('student_msg','a+',encoding='utf-8') as f:

f.write("%s_%s_%d_%s\n"%(name,gender,age,edu))

while 1:

content = input("是否錄入學生資訊(輸入q/q退出):")

if content.upper() == 'q':

break

else:

name = input("輸入姓名:")

gender = input("輸入性別:")

age = int(input("輸入年齡:"))

edu = input("輸入學歷:")

if gender == "":

i_msg(name,age,edu)

else:

i_msg(name,age,edu,gender)

import os

def r_file(filename,old,new):

with open(filename,'r',encoding='utf-8') as f1,

open(filename+'副本','w',encoding='utf-8') as f2:

for i in f1:

i = i.replace(old,new)

f2.write(i)

os.remove(filename)

os.rename(filename+'副本',filename)

r_file('test1.txt','123','321')

12.注意:檔案的賬戶密碼分隔符最好選乙個使用者用不到的

def enrol():

while 1:

username = input("註冊使用者名稱:").strip()

password = input("註冊密碼:").strip()

with open('user.txt','r+',encoding='utf-8') as f:

for i in f: #byh&&123

lst = i.strip().split('&&')

if username == lst[0]:

print('註冊使用者已存在,請重新輸入')

break

elif username == '' or password== '':

print('註冊使用者或密碼不能為空,請重新輸入')

break

else:

f.write('\n'+username+'&&'+password)

break

return "註冊成功"

def login():

count = 0

while count < 3:

i_username = input("登陸使用者名稱:").strip()

i_password = input('登陸密碼:').strip()

with open('user.txt','r',encoding='utf-8') as f:

for i in f:

lst = i.strip().split('&&')

if i_username == lst[0] and i_password == lst[1]:

return "登陸成功"

else:

count += 1

print('密碼錯誤,可嘗試次數【%s】'%(3-count))

return "登陸失敗"

def choose():

while 1:

ch = input("選擇服務(1.註冊/2.登陸/按q退出):")

if ch == "1":

print(enrol())

break

elif ch == "2":

print(login())

break

elif ch.upper() == 'q':

break

else:

print("請輸入正確的選項")

choose()

day9 函式作業

編寫乙個函式,交換指定字典的key和value。例如 dict1 dict1 defexchange dict1 param dict1 return list1 value,key for key,value in dict1.items print dict list1 exchange 編寫乙...

day9 函式作業

編寫乙個函式,交換指定字典的key和value。例如 dict1 dict1 dict1 defexchange dict1 交換指定字典的key和value param dict1 字典 return 字典 result dict zip dict1.values dict1.keys retur...

day9 函式作業

編寫乙個函式,交換指定字典的key和value。例如 dict1 dict1 defexchange dict1 result print result exchange x 10,y 20,z 30 編寫乙個函式,提取指定字串中所有的字母,然後拼接在一起產生乙個新的字串 例如 傳入 12a bc1...