# 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`