# Python TQC 501~510 ## 501 訊息顯示 ### 說明: 請撰寫一程式,呼叫函式compute(),該函式功能為讓使用者輸入系別(Department)、學號(StudentID)和姓名(Name)並顯示這些訊息。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/r4bI7Tb.png) 範例輸出: ![](https://i.imgur.com/kSApL7j.png) ### Code: ```python= def compute(): department = input() studentid = input() name = input() print('Department:',department) print('Student ID:',studentid) print('Name:',name) compute() ``` ## 502 乘積 ### 說明: 請撰寫一程式,將使用者輸入的兩個整數作為參數傳遞給一個名為compute(x, y)的函式,此函式將回傳x和y的乘積。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/Ix3FDkC.png) 範例輸出: ![](https://i.imgur.com/gjP1aLG.png) ### Code: ```python= def compute(x,y): return x*y x = eval(input()) y = eval(input()) print(compute(x,y)) ``` ## 503 連加計算 ### 說明: 請撰寫一程式,讓使用者輸入兩個整數,接著呼叫函式compute(),此函式接收兩個參數a、b,並回傳從a連加到b的和。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/oGibe74.png) 範例輸出: ![](https://i.imgur.com/3aN2MLt.png) ### Code: ```python= def compute(a,b): ans=0 for i in range(a,b+1): ans+=i return ans x = eval(input()) y = eval(input()) print(compute(x,y)) ``` ## 504 次方計算 ### 說明: 請撰寫一程式,讓使用者輸入兩個整數,接著呼叫函式compute(),此函式接收兩個參數a、b,並回傳a^b^的值。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/6rjVwWL.png) 範例輸出: ![](https://i.imgur.com/NDOIBTw.png) ### Code: ```python= def compute(a,b): return pow(a,b) x = eval(input()) y = eval(input()) print(compute(x,y)) ``` ## 505 依參數格式化輸出 ### 說明: 請撰寫一程式,將使用者輸入的三個參數,變數名稱分別為a(代表字元character)、x(代表個數)、y(代表列數),作為參數傳遞給一個名為compute()的函式,該函式功能為:一列印出x個a字元,總共印出y列。 > 輸出的每一個字元後方有一空格。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/XCrPfQ6.png) 範例輸出: ![](https://i.imgur.com/0twes0l.png) ### Code: ```python= def compute(a,x,y): for i in range(y): for j in range(x): print('%c '%a,end='') print() a = input() x = eval(input()) y = eval(input()) compute(a,x,y) ``` ## 506 一元二次方程式 ### 說明: 請撰寫一程式,將使用者輸入的三個整數(代表一元二次方程式 ax^2^+bx+c=0的三個係數a、b、c)作為參數傳遞給一個名為compute()的函式,該函式回傳方程式的解,如無解則輸出【Your equation has noroot.】 > 輸出有順序性 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/LQtGMUB.png) 範例輸出: ![](https://i.imgur.com/oM89xNr.png) ### Code: ```python= def compute(a,b,c): if (pow(b,2)-(4*a*c)) < 0: print('You question has no solution!') return None else: ans1 = (-b+(pow(pow(b,2)-(4*a*c),0.5)))/(2*a) ans2 = (-b-(pow(pow(b,2)-(4*a*c),0.5)))/(2*a) return str(ans1)+','+str(ans2) a = eval(input()) b = eval(input()) c = eval(input()) print(compute(a,b,c)) ``` ## 507 質數 ### 說明: 請撰寫一程式,讓使用者輸入一個整數x,並將x傳遞給名為compute()的函式,此函式將回傳x是否為質數(Prime number)的布林值,接著再將判斷結果輸出。如輸入值為質數顯示【Prime】,否則顯示【Not Prime】。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/phsS6rx.png) ![](https://i.imgur.com/Wvst2MB.png) ![](https://i.imgur.com/37ZcC5I.png) 範例輸出: ![](https://i.imgur.com/8V3VzuU.png) ![](https://i.imgur.com/uwnLDoE.png) ![](https://i.imgur.com/uwnLDoE.png) ### Code: ```python= def compute(x): if x <= 1: return False for i in range(2,x): if x%i == 0: return False return True x = eval(input()) if compute(x): print('Prime') else: print('Not Prime') ``` ## 508 最大公因數 ### 說明: 請撰寫一程式,讓使用者輸入兩個正整數x、y,並將x與y傳遞給名為compute()的函式,此函式回傳x和y的最大公因數。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/pk2KGI1.png) 範例輸出: ![](https://i.imgur.com/6Y1FzxP.png) ### Code: ```python= def compute(x,y): gcd = 1 for i in range(1,min(x,y)+1): if x%i==0 and y%i==0: gcd=i return gcd x,y = eval(input()) print(compute(x,y)) ``` ## 509 最簡分數 ### 說明: 請撰寫一程式,讓使用者輸入二個分數,分別是x/y和m/n(其中x、y、m、n皆為正整數),計算這兩個分數的和為p/q,接著將p和q傳遞給名為compute()函式,此函式回傳p和q的最大公因數(Greatest Common Divisor, GCD)。再將p和q各除以其最大公因數,最後輸出的結果必須以最簡分數表示。 ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/rsMWQxt.png) 範例輸出: ![](https://i.imgur.com/LlosYUS.png) ### Code: ```python= def compute(x,y): gcd = 1 for i in range(1,min(x,y)+1): if x%i==0 and y%i==0: gcd=i return gcd x,y = eval(input()) m,n = eval(input()) q = y*n p = m*y+x*n gcd=compute(p,q) print(x,'/',y,' + ',m,'/',n,' = ',int(p/gcd),'/',int(q/gcd)) ``` ## 510 費氏數列 ### 說明: 請撰寫一程式,計算費氏數列(Fibonacci numbers),使用者輸入一正整數num (num>=2),並將它傳遞給名為compute()的函式,此函式將輸出費氏數列前num個的數值。 > 費氏數列的某一項數字是其前兩項的和,而且第0項為0,第一項為1,表示方式如下: ![](https://i.imgur.com/NajUtop.png) ### 輸入/輸出 範例輸入: ![](https://i.imgur.com/czW0cqO.png) ![](https://i.imgur.com/a9tZmBU.png) 範例輸出: ![](https://i.imgur.com/GKbB8iG.png) ![](https://i.imgur.com/hITDR6z.png) ### Code: ```python= def compute(n): curr = 1 pre = 0 print(0,1,end=' ') for i in range(2,n): temp = curr+pre print(temp,end=' ') pre = curr curr = temp num = eval(input()) compute(num) ``` --- 相關文章: [Python TQC 601~610](https://hackmd.io/@Neroal/SyaJwyiDL) ###### tags: `python`