Python學習 課後練習整理 二

2021-09-24 20:57:40 字數 3090 閱讀 4586

本學習的課程python程式設計的練習在拼題a上完成,為了記錄學習過程,對課後練習進行整理

1.使用函式求特殊a串數列和 (30 分)

給定兩個均不超過9的正整數a和n,要求編寫函式fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n個a)之和,fn須返回的是數列和

函式介面定義:

fn(a,n)

其中 a 和 n 都是使用者傳入的引數。 a 的值在[1, 9]範圍;n 是[1, 9]區間內的個位數。函式須返回級數和

裁判測試程式樣例:

/* 請在這裡填寫答案 */

a,b=input().split()

s=fn(int(a),int(b))

print(s)

輸入樣例:

在這裡給出一組輸入。例如:

2 3輸出樣例:

在這裡給出相應的輸出。例如:

246

解答:

def

fn(a,n)

: i =

0 x =

0# 中間值

sum=

0for i in

range

(n):

x = x *

10+ a # 中間值為前乙個中間值*10+a

sum+= x # 前n個x求和

return

sum

思路:

剛開始的時候,是想著用字串操作的,因為python可以字串乘法複製

但是需要進行多次型別轉換,太累,所以還是正常地用數學計算吧

2. 使用函式求余弦函式的近似值 (20 分)

本題要求實現乙個函式,用下列公式求cos(x)近似值,精確到最後一項的絕對值小於eps(絕對值小於eps的項不要加):

cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?

函式介面定義:funcos(eps,x ),其中使用者傳入的引數為eps和x;函式funcos應返回用給定公式計算出來,保留小數4位。

函式介面定義:

函式介面:

funcos(eps,x ),返回cos(x)的值。

裁判測試程式樣例:

在這裡給出函式被呼叫進行測試的例子。例如:

/* 請在這裡填寫答案 */

eps=float(input())

x=float(input())

value=funcos(eps,x )

print("cos() = ".format(x,value))

輸入樣例:

在這裡給出一組輸入。例如:

0.0001

-3.1

輸出樣例:

在這裡給出相應的輸出。例如:

cos(-3.1) = -0.9991

解答:

def

factorial

(n):

if n !=0:

return n * factorial(n -1)

else

:return

1def

funcos

(eps,x)

: i=

0 s=

0while x**i/factorial(i)

>eps or x**i/factorial(i)

==eps:

i=i+

2for j in

range(0

,i,2):

if j%4==

0:s=s+x**j/factorial(j)

else

: s=s-x**j/factorial(j)

print

('cos() = '

.format

(x,s)

)

使用函式輸出指定範圍內fibonacci數的個數

本題要求實現乙個計算fibonacci數的簡單函式,並利用其實現另乙個函式,輸出兩正整數m和n(0解答:

defprintfn

(m, n, i)

: count =

0 l =[1

,1]while

len(l)

<50:

-1]+l[-2

])for num in

range

(m, n)

:if num in l:

count +=

1print

("fib(%d) = %d"

%(i, l[i]))

print

(count)

計算素數和

本題要求計算輸入兩個正整數x,y(x<=y,包括x,y)素數和。函式isprime用以判斷乙個數是否素數,primesum函式返回素數和。

輸入格式:

輸入兩個整數。

輸出格式:

[m-n]間的素數和

裁判測試程式樣例:

/* 請在這裡填寫答案 */

x,y =map(int, input().split())

print(primesum(x,y))

輸入樣例:

2 8輸出樣例:

17

解答:

def

isprime

(n):

if n <2:

return

false

for i in

range(2

,int

(n **

0.5+1)

):if n % i ==0:

return

false

return

true

defprimesum

(m, n)

:sum=0

for num in

range

(m, n)

:if isprime(num)

:sum

+= num

return

sum

python之課後練習三

具體實現如下 import os 批量在檔名前加字首 funflag 1 1表示新增標誌,2表示刪除標誌 foldername renamedir 獲取指定路徑的所有檔案名字 foldername list os.listdir foldername 遍歷輸出所有檔案名字 for oldname i...

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...