TQC 程式語言 Python::第5類:函式(Function)
TQC+ 程式語言Python 510 費氏數列
設計說明:
請撰寫一程式,計算費氏數列(Fibonacci numbers),使用者輸入一正整數num (num>=2),並將它傳遞給名為compute()的函式,此函式將輸出費氏數列前num個的數值。
提示:費氏數列的某一項數字是其前兩項的和,而且第0項為0,第一項為1,表示方式如下:
輸入輸出:
輸入說明
一個正整數num (num>=2)
輸出說明
依輸入值num,輸出費氏數列前num個的數值(每個數值後方為一個半形空格)
輸入輸出範例
範例輸入1
10
範例輸出1
0 1 1 2 3 5 8 13 21 34
範例輸入2
20
範例輸出2
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
'''
請撰寫一程式,計算費氏數列(Fibonacci numbers),
使用者輸入一正整數num (num>=2),並將它傳遞給名為
compute()的函式,此函式將輸出費氏數列前num個的數值。
'''
def compute(i):
if i<=1:
return i
else:
return compute(i-1)+compute(i-2)
num=eval(input('輸入一正整數num==>'))
print('費氏數列前%d個的數值'%num)
for i in range(num):
print(compute(i),end=" ")
輸入一正整數num==>12
費氏數列前12個的數值
0 1 1 2 3 5 8 13 21 34 55 89
TQC+ 程式語言Python 509 最簡分數
請撰寫一程式,讓使用者輸入二個分數,分別是x/y和m/n(其中x、y、m、n皆為正整數),計算這兩個分數的和為p/q,接著將p和q傳遞給名為compute()函式,此函式回傳p和q的最大公因數(Greatest Common Divisor, GCD)。再將p和q各除以其最大公因數,最後輸出的結果必須以最簡分數表示。
範例輸入1
1,2
1,6
範例輸出1
1/2 + 1/6 = 2/3
'''
請撰寫一程式,讓使用者輸入二個分數,分別是x/y和m/n(其中x、y、m、n皆為正整數),
計算這兩個分數的和為p/q,接著將p和q傳遞給名為compute()函式,
此函式回傳p和q的最大公因數(Greatest Common Divisor, GCD)。
再將p和q各除以其最大公因數,最後輸出的結果必須以最簡分數表示。
'''
import math
def compute(p, q):
return math.gcd(p, q)
x, y = eval(input('輸入第一個分數 x,y'))
m, n = eval(input('輸入第二個分數 x,y'))
p = (x * n + m * y) / compute(x * n + m * y, y * n)
q = (y * n) / compute(x * n + m * y, y * n)
print('\n最簡分數');
print('%d/%d + %d/%d = %d/%d' %(x, y, m, n, p, q))
輸入第一個分數 x,y1,2
輸入第二個分數 x,y1,6
最簡分數
1/2 + 1/6 = 2/3
TQC+ 程式語言Python 508 最大公因數
設計說明:
請撰寫一程式,讓使用者輸入兩個正整數x、y,並將x與y傳遞給名為compute()的函式,此函式回傳x和y的最大公因數。
輸入輸出:
輸入說明
兩個正整數(以半形逗號分隔)
x,y
輸出說明
最大公因數
輸入輸出範例
範例輸入1
12,8
範例輸出1
4
範例輸入2
4,6
範例輸出2
2
'''
請撰寫一程式,讓使用者輸入兩個正整數x、y,並將x與y傳遞
給名為compute()的函式,此函式回傳x和y的最大公因數。
'''
def compute(x,y):
for i in range(1,little+1):
if x%i==0 and y%i==0:
L1.append(i)
return max(L1)
L1=[]
x=eval(input('輸入整數x:'))
y=eval(input('輸入整數y:'))
little=min(x,y)
print(compute(x,y))
輸入整數x:120
輸入整數y:24
24
TQC+ 程式語言Python 507 質數
設計說明:
請撰寫一程式,讓使用者輸入一個整數x,並將x傳遞給名為compute()的函式,此函式將回傳x是否為質數(Prime number)的布林值,接著再將判斷結果輸出。如輸入值為質數顯示【Prime】,否則顯示【Not Prime】。
輸入輸出:
輸入說明
一個整數
輸出說明
判斷是否為質數,若為質數顯示【Prime】,否則顯示【Not Prime】
輸入輸出範例
範例輸入1
3
範例輸出1
Prime
範例輸入2
6
範例輸出2
Not Prime
範例輸入3
1
範例輸出3
Not Prime
範例輸入4
0
範例輸出4
Not Prime
範例輸入5
-5
範例輸出5
Not Prime
'''
請撰寫一程式,讓使用者輸入一個整數x,並將x傳遞給名為compute()的函式,
此函式將回傳x是否為質數(Prime number)的布林值,接著再將判斷結果
輸出。如輸入值為質數顯示【Prime】,否則顯示【Not Prime】。
'''
def compute(x):
if x <= 1:
return '不是質數 Not Prime'
for i in range(2, x):
if x % i == 0:
return '不是質數 Not Prime'
else:
return '質數Prime'
x=eval(input('輸入整數x:'))
compute(x)
'
不是質數 Not Prime
TQC+ 程式語言Python 505 依參數格式化輸出
設計說明:
請撰寫一程式,將使用者輸入的三個參數,變數名稱分別為a(代表字元character)、x(代表個數)、y(代表列數),作為參數傳遞給一個名為compute()的函式,該函式功能為:一列印出x個a字元,總共印出y列。
提示:輸出的每一個字元後方有一空格。
輸入輸出:
輸入說明
三個參數,分別為a(代表字元character)、x(代表個數)、y(代表列數)
輸出說明
一列印出x個a字元,總共印出y列
輸入輸出範例
範例輸入
e
5
4
範例輸出
e e e e e
e e e e e
e e e e e
e e e e e
def compute(a,x,y):
for i in range(y):
for i in range(x):
print(a,end=" ")
print()
a=(input('輸入整數a:'))
x=eval(input('輸入整數x:'))
y=eval(input('輸入整數y:'))
compute(a,x,y)
輸入整數a:x
輸入整數x:5
輸入整數y:8
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
TQC+ 程式語言Python 504 次方計算
設計說明:
請撰寫一程式,讓使用者輸入兩個整數,接著呼叫函式compute(),此函式接收兩個參數a、b,並回傳的值。
輸入輸出:
輸入說明
兩個整數
輸出說明
的值
輸入輸出範例
範例輸入
14
3
範例輸出
2744
'''
請撰寫一程式,讓使用者輸入兩個整數,接著呼叫函式compute(),
此函式接收兩個參數a、b,並回傳a^b之值
'''
import math
def compute(x,y):
c=a**b
return c
a=eval(input('輸入整數a:'))
b=eval(input('輸入整數b:'))
c=compute(a,b)
print('a^b之值=',c)
輸入整數a:2
輸入整數b:4
a^b之值= 16
TQC+ 程式語言Python 503 連加計算
設計說明:
請撰寫一程式,讓使用者輸入兩個整數,接著呼叫函式compute(),此函式接收兩個參數a、b,並回傳從a連加到b的和。
輸入輸出:
輸入說明
兩個整數
輸出說明
從a連加到b的和
輸入輸出範例
範例輸入
33
66
範例輸出
1683
'''
請撰寫一程式,讓使用者輸入兩個整數,接著呼叫函式compute(),
此函式接收兩個參數a、b,並回傳從a連加到b的和
'''
def compute(a,b):
sum=0;
for num in range(a,b+1):
sum=sum+num;
return sum
a=eval(input('輸入整數a:'))
b=eval(input('輸入整數b:'))
sum=compute(a,b)
print('從a連加到b的和=',sum)
輸入整數a:1
輸入整數b:10
從a連加到b的和= 55
TQC+ 程式語言Python 502 乘積
設計說明:
請撰寫一程式,將使用者輸入的兩個整數作為參數傳遞給一個名為compute(x, y)的函式,此函式將回傳x和y的乘積。
輸入輸出:
輸入說明
兩個整數
輸出說明
兩個整數相乘之乘積
輸入輸出範例
範例輸入
56
11
範例輸出
616
'''
請撰寫一程式,將使用者輸入的兩個整數作為參數傳遞給一個
名為compute(x, y)的函式,此函式將回傳x和y的乘積
'''
def compute(x,y):
a=x*y
return a
x=eval(input('輸入整數x:'))
y=eval(input('輸入整數y:'))
a=compute(x,y)
print('x和y的乘積=',a)
輸入整數x:12
輸入整數y:12
x和y的乘積= 144
TQC+ 程式語言Python 501 訊息顯示
設計說明:
請撰寫一程式,呼叫函式compute(),該函式功能為讓使用者輸入系別(Department)、學號(Student ID)和姓名(Name)並顯示這些訊息。
輸入輸出:
輸入說明
三個字串
輸出說明
系別(Department)
學號(Student ID)
姓名(Name)
學號(Student ID)
姓名(Name)
輸入輸出範例
範例輸入
Information Management
123456789
Tina Chen
範例輸出
Department: Information Management
Student ID: 123456789
Name: Tina Chen
'''
請撰寫一程式,呼叫函式compute(),該函式功能為讓使用者輸入系別(Department)、
學號(Student ID)和姓名(Name)並顯示這些訊息。
'''
def compute():
A=input('系別Department:')
B=input('學號Student ID:')
C=input('姓名Name:')
print('\n輸入的資料')
print("系別Department:",A)
print("學號Student ID:",B)
print("姓名Name:",C)
compute()
系別Department:Information Management
學號Student ID:110001001
姓名Name:Alex
輸入的資料
系別Department: Information Management
學號Student ID: 110001001
姓名Name: Alex