具體實現如下
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...