第二次作業

2021-09-29 03:56:23 字數 4302 閱讀 6940

題目一: 將示例**修改為能夠批量重新命名目標檔案、批量刪除檔案等。

批量重新命名:

import os

def rename(dir):

filelist = os.listdir(dir) #讀取檔案路徑

i=0for file in filelist:

filetype = os.path.splitext(file)[1] #將檔案的檔名和副檔名分離開返回副檔名

old = os.path.join(path,file) #原檔案位址

if (filetype == '.txt'):

i+=1

new = os.path.join(path,'note'+str(i)+filetype) #要更改的位址

os.rename(old,new)

path='d:/jupyter/test' #目標資料夾路徑

rename(path)

執行結果:

批量刪除:

import os

def rename(dir):

filelist = os.listdir(dir) #讀取檔案路徑

for file in filelist:

filetype = os.path.splitext(file)[1] #將檔案的檔名和副檔名分離開返回副檔名

if (filetype == '.txt'):

new = os.path.join(path,file) #要刪除的檔案的位址

os.remove(new)

path='d:/jupyter/test' #目標資料夾路徑

img1 = cv2.imread(path1,cv2.imread_grayscale) #以灰度模式讀取

img2 = img1[0:400,100:400] #擷取

img3 = cv2.flip(img1,1) #左右翻轉

img4 = cv2.resize(img1, (500, 500)) #縮放

img5 = np.hstack([img,img]) #在豎直方向上堆疊

cv2.imshow("test1",img1) #顯示

cv2.imshow("test2",img2)

cv2.imshow("test3",img3)

cv2.imshow("test4",img4)

cv2.imshow("test5",img5)

cv2.imwrite(path2,img1) #儲存

操作結果:

題目三: 畫乙隻豬。

import cv2

import numpy as np

img = 255*np.ones((600,600,3),np.uint8)

font = cv2.font_hershey_duplex

cv2.ellipse(img,(300,250),(75,65),180,0,360,(255,0,255),2) #畫臉

cv2.ellipse(img,(300,250),(75,65),180,90,165,(255,255,255),2)

cv2.line(img, (300,185), (443,160), (255,0,255),2) #畫鼻子

cv2.line(img, (372,238), (443,180), (255,0,255),2)

cv2.ellipse(img,(443,171),(15,10),350,0,360,(255,0,255),2) #畫鼻孔

cv2.circle(img,(438,173),3,(0,0,0),-1)

cv2.circle(img,(448,170),3,(0,0,0),-1)

cv2.circle(img,(270,224),8,(255,0,255),2,0) #畫眼睛

cv2.circle(img,(320,220),8,(255,0,255),2,0)

cv2.ellipse(img,(274,224),(4,2),90,0,360,(0,0,0),-1)

cv2.ellipse(img,(324,220),(4,2),90,0,360,(0,0,0),-1)

cv2.ellipse(img,(260,260),(10,8),90,0,360,(255,0,255),2) #畫臉頰

cv2.ellipse(img,(260,260),(9,7),90,0,360,(0,0,0),-1)

cv2.ellipse(img,(245,200),(18,10),70,60,270,(255,0,255),2) #畫耳朵

cv2.ellipse(img,(285,180),(16,9),75,70,290,(255,0,255),2)

cv2.ellipse(img,(305,275),(20,8),330,0,180,(255,0,255),2) #畫嘴巴

cv2.line(img, (260,310), (220,450), (255,0,255),2) #畫身體

cv2.line(img, (340,310), (380,450), (255,0,255),2)

cv2.ellipse(img,(300,450),(80,30),0,0,180,(255,0,255),2)

cv2.line(img, (254,325), (180,400), (255,0,255),2) #畫手

cv2.line(img, (346,325), (420,400), (255,0,255),2)

cv2.line(img, (210,370), (175,385), (255,0,255),2)

cv2.line(img, (210,370), (200,405), (255,0,255),2)

cv2.line(img, (390,370), (425,385), (255,0,255),2)

cv2.line(img, (390,370), (400,405), (255,0,255),2)

cv2.line(img, (260,475), (260,550), (255,0,255),2) #畫腳

cv2.line(img, (340,475), (340,550), (255,0,255),2)

cv2.ellipse(img,(270,564),(20,12),0,0,360,(255,0,255),2)

cv2.ellipse(img,(348,564),(20,12),0,0,360,(255,0,255),2)

cv2.imwrite('d:/jupyter/mywork/work/peiqi.jpg',img) #儲存

cv2.imshow("peiqi", img)

cv2.waitkey(0)

畫佩奇只用到了畫直線、畫橢圓和畫圓的函式。畫出的結果如下圖:

第二次作業

execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...

第二次作業

第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...

第二次作業

檔名稱 516.cpp 作 者 闕文榮 完成日期 2016 年 3 月 11 日 版 本 號 v1.1 對任務及求解方法的描述部分 用while語句控制輸出 輸入描述 略 問題描述 現在北京有一套房子,200萬,假設房價每年 10 乙個軟體工程師每年固定能賺40萬。他想買這套房子,多大的 率能夠忍受...