日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

南京工业大学乐学python答案_铁乐学python_day09_作业

發布時間:2023/12/19 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 南京工业大学乐学python答案_铁乐学python_day09_作业 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

練習題

1、整理函數相關知識點,寫博客

2、寫函數,檢查獲取傳入列表或元組對象的所有奇數位索引對應的元素,

并將其作為新列表返回給調用者。

def odd_index(l):

lis = []

for i in range(len(l)):

# 通過range設定索引范圍比通過元素找索引要好,因為相同元素返回的索引值會有誤

if i % 2 != 0:

lis.append(l[i])

return lis

# 驗證odd_index函數的使用正常不:

li = [ i for i in range(20)]

print(li)

print(odd_index(li))

tuple1 = ('a', 'b', 'c', 'b', 'c', 'd', 'e', 'f', 'g')

print(odd_index(tuple1))

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

['b', 'b', 'd', 'f']

# 利用切片會更簡單

# def odd_index(argv):

# return argv[1::2]

3、寫函數,判斷用戶傳入的對象(字符串、列表、元組)長度是否大于5。

def len_5(l):

return len(l) > 5

4、寫函數,檢查傳入列表的長度,如果大于2,那么僅保留前兩個長度的內容,

并將新內容返回給調用者。

def len_2(l):

if len(l) > 2:

# 滿足條件才返回內容,不滿足的話就什么也不做,也就是None

return l[:2]

lis = [1, 2]

print(len_2(lis))

lis2 = [1, 2, 3, 4]

print(len_2(lis2))

None

[1, 2]

5、寫函數,計算傳入字符串中【數字】、【字母】、【空格] 以及 【其他】的個數,并返回結果。

def count_n(s):

num = 0

alpha = 0

blank = 0

other = 0

for i in s:

if i.isdigit():

num += 1

elif i.isalpha():

alpha += 1

elif i == ' ':

blank += 1

else:

other += 1

result = '共有數字{}個,字母{}個,空格{}個,其他{}個'.format(num,alpha,blank,other)

return(result)

# 驗證

print(count_n('uy143 oifg87 90/+ '))

共有數字7個,字母6個,空格6個,其他2個

6、寫函數,檢查用戶傳入的對象(字符串、列表、元組)的每一個元素是否含有空內容2,并返回結果。

def blank_ex(l):

li = []

for i in l:

if ' ' in str(i):

li.append(i)

return li

#驗證

s = 'yiu dgh'

li1 = [' 34s', 45, 'et']

tuple1 = ( 'r t', 78, [ ])

print(blank_ex(s))

print(blank_ex(li1))

print(blank_ex(tuple1))

7、寫函數,檢查傳入字典的每一個value的長度,如果大于2,

那么僅保留前兩個長度的內容,并將新內容返回給調用者。

dic = {"k1": "v1v1", "k2": [11,22,33,44]}

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

def dic_ex(d):

for i in d:

# 通過鍵來找到相應的值,可以直接重新賦值

if len(d[i]) > 2:

d[i] = d[i][:2]

return d

# 驗證

dic = {"k1": "v1v1", "k2": [11,22,33,44],}

print(dic_ex(dic))

{'k1': 'v1', 'k2': [11, 22]}

8、寫函數,接收兩個數字參數,返回比較大的那個數字。

def max_min(a, b):

return a if a > b else b

9、寫函數,用戶傳入修改的文件名,與要修改的內容,

執行函數,完成整個文件的批量修改操作(進階)。

10、寫一個函數完成三次登陸功能,再寫一個函數完成注冊功能(進階)

# 定義注冊函數

def register(*args, **kwargs):

while True:

username = input('請輸入用戶名(Q/q返回首頁):').strip()

if username.upper() == 'Q':

# 退出函數

return

with open('reg.txt', encoding='utf-8') as f1:

for i in f1:

user = i.strip().split()

if username == user[0] or username == '':

print('己存在用戶名,請重新注冊:')

break

# 在for循環讀取完整個文件判斷沒有同名用戶后才進行追加寫入的操作

else:

password = input('請輸入密碼:').strip()

# 擴展了一個密碼不能為空和小于6位數的功能

if password =='' or len(password) < 6:

print('密碼不能為空或小于6位,請重新注冊。')

continue

with open('reg.txt', encoding='utf-8', mode='a') as f2:

f2.write('\n{}\t{}'.format(username, password))

print('注冊成功')

return

# 定義一個登錄函數

def login(*args, **kwargs):

count = 3

while count != 0:

username = input('請輸入你的用戶名:').strip()

password = input('請輸入你的密碼:').strip()

with open('reg.txt', encoding='utf-8') as f3:

for i in f3:

user = i.strip().split()

if username == user[0] and password == user[1]:

print('登錄成功')

# 登錄成功退出登錄函數

return

else:

count -= 1

print('你的用戶名或密碼輸入錯誤,請重新輸入。你還有%d次機會。' % count)

print('你的三次輸入機會己用盡,請稍后再試。')

明日默寫。

①,return的作用。

②,傳參的幾種方法,每個都簡單寫一個代碼。

如,實參,按位置傳參。

def func(x,y):

Pass

func(‘a’,’b’)

總結

以上是生活随笔為你收集整理的南京工业大学乐学python答案_铁乐学python_day09_作业的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。