python之課後練習三

2021-09-24 00:13:01 字數 4559 閱讀 1096

具體實現如下

import os

# 批量在檔名前加字首

funflag = 1 # 1表示新增標誌, 2表示刪除標誌

foldername = './renamedir/'

# 獲取指定路徑的所有檔案名字

foldername_list = os.listdir(foldername)

# 遍歷輸出所有檔案名字

for oldname in foldername_list:

if funflag == 1:

newname = '[西部開源]-' + oldname

elif funflag == 2:

num = len('[西部開源]-')

newname = oldname[num:]

print("重新命名 【%s】為【%s】成功! " % (oldname, newname))

我們檔案裡的內容如下:

具體實現和結果:

具體實現如下:

"""

製作乙個密碼薄,其可以儲存乙個**

實現增刪改查功能,並且實現檔案儲存功能

"""import os

import json

passwd_book = {}

def user_operate():

print('**密碼薄'.center(50, '~'))

print("""

1.新增**資訊

2.刪除**資訊

3.修改**資訊

4.檢視**資訊

9.退出系統

請選擇:

""")

while true:

operate = int(input("請輸入您想進行的操作:"))

if operate == 1:

add_website()

elif operate == 2:

del_website()

elif operate == 3:

revise_website()

elif operate == 4:

view_website()

elif operate == 9:

break

else:

print('請輸入正確的操作符')

#檢視**資訊和密碼

def view_website():

global passwd_book

with open('doc/test.json') as f:

test = json.load(f)

print(test)

return

#新增新的**資訊和密碼

def add_website():

global passwd_book

with open('doc/test.json', 'w+') as f:

website = input("請輸入您想要新增的**:")

if website not in passwd_book.keys():

passwd_book[website] = web_passwd

passwd_book_str = json.dumps(passwd_book)

f.write(passwd_book_str)

passwd_book = json.loads(passwd_book_str)

else:

print('該**已存在!')

return

#修改**資訊和密碼

def revise_website():

global passwd_book

with open('doc/test.json', 'w+') as f:

website = input("請輸入您想要修改的**:")

if website in passwd_book.keys():

new_web = input('請輸入新**:')

passwd_book[new_web] = new_passwd

del passwd_book[website]

passwd_book_str = json.dumps(passwd_book)

f.write(passwd_book_str)

passwd_book = json.load(f)

else:

print('該**不存在!')

return

#刪除乙個**資訊和密碼

def del_website():

global passwd_book

with open('doc/test.json', 'w+') as f:

website = input("請輸入您想要刪除的**:")

if website in passwd_book.keys():

del passwd_book[website]

passwd_book_str=json.dumps(passwd_book)

f.write(passwd_book_str)

passwd_book = json.loads(passwd_book_str)

else:

print('該**不存在!')

維護乙個滑動視窗,視窗內的都是沒有重複的字元,去盡可能的擴大視窗的大小,視窗不停的向右滑動。

1)如果當前遍歷到的字元從未出現過,那麼直接擴大右邊界;

2)如果當前遍歷到的字元出現過,則縮小視窗(左邊索引向右移動),然後繼續觀察當前遍歷到的字元;

3)重複(1)(2),直到左邊索引無法再移動;

4)維護乙個結果res,每次用出現過的視窗大小來更新結果res,最後返回res獲取結果。

具體實現如下:

def strlenght(s):

maxlen = 0

s_dict = {}

onemax = 0

start = 0

for i in range(len(s)):

if s[i] in s_dict and s_dict[s[i]] >= start:

start = s_dict[s[i]] + 1

onemax = i - start + 1

s_dict[s[i]] = i

maxlen = max(maxlen, onemax)

return maxlen

sstr = input('請輸入一串英文本母:')

給定乙個矩陣,如果乙個元素為0,則所在行或列所有元素都為0

具體實現如下:

def matrix_zeroes(s):

columns, linenum = len(s), len(s[0])

zeroseat = [[i, j] for i in range(columns) for j in range(linenum) if s[i][j] == 0]

for items in zeroseat:

i, j = items[0], items[1]

s[i] = [0 for n in range(linenum)]

for k in range(columns):

s[k][j] = 0

return s

s = [

[1, 3, 1, 4],

[1, 0, 3, 1],

[1, 4, 0, 3],

[1, 1, 0, 1]

]print(matrix_zeroes(s))

Python 語言程式設計 課後練習

1.理解文字和二進位制開啟方式的區別 首先,用文字編輯器生成乙個包含 中國是個偉大國家!的 txt格式文字檔案,命名為 test.txt。編寫程式分別用文字檔案方式和二 進製檔案方式讀入,並列印輸出效果。觀察輸出結果並解釋。利用字典將兩個通訊錄文字合併為乙個文字 def main ftele1 op...

Python課後練習 函式引數

以下函式允許計算兩個數的乘積,請稍加改造,變成可接收乙個或多個數並計算乘積 def product kk if len kk 0 raise typeerror i 1for x in kk i x i return i print product 5 product 5 print product...

課後練習 2 3

一.a.250000 b.2046 c.n 1 d.n 4 n 1 2 e.n 1 n 2 1 2n 1 3 f.pow 3,n 1 3 2 g.pow n 1 n 2,2 h.1 1 n 1 二.a.n的四次方 b.log n c.2的n次方乘n d.n n 三.用第一種方法 加減運算 n n 1...