# Python
## 目錄
[TOC]
## 引入函式
```python=
#m1.py
import m2 #類似將m2 include進來
m2.printSelf() #使用m2中的函式printSelf()
#m2.py
def printSelf():
print('In m2')
```
```python=
import xmath as math #為 xmath 模組取別名為 math
from xmath import min # 只引入xmath中的min函式
```
c
```python=
x = 3
y = 4.124
z = "Python"
#宣告一個變數
x, y, z = 2, 4.124, "Python"
x = y = z = "Blue"
#一次宣告多個變數
var = None
#宣告一個變數不給初始值
```
## 基礎運算子







## 基本輸入輸出
```python=
name = input('請輸入你的名稱:')
print('歡迎', name)
```
> 輸出不換行
> python輸出後面會自動加上\n
```python=
print("請輸入你的名稱:",end = '')
name = input()
print('歡迎', name)
```
### practice
- [ 小練習1 ]
**Q:輸入三個成績並顯示其算術平均**
```python=
a = input('a的成績:')
b = input('b的成績:')
c = input('c的成績:')
ave = (int(a)+int(b)+int(c))/3
print("平均為:",end = '')
print(ave)
```
- [ 小練習2 ]
**Q:輸入五個成績,算出其總和和平均**
```python=
a = input('GRADE1:')
b = input('GRADE2:')
c = input('GRADE3:')
d = input('GRADE4:')
e = input('GRADE5:')
total = int(a)+int(b)+int(c)+int(d)+int(e)
ave = int(total)/5
print("總合為:",end = '')
print(total)
print("平均為:",end = '')
print(ave)
```
- [ 小練習3 ]
**Q:輸入身高 體重,算出BMI**
```python=
height = float(input('身高(cm):'))
weight = float(input('體重(kg):'))
height = height / 100
BMI = weight / (height * height)
print("BMI = ",end = '')
print(BMI)
```
- [ 小練習4 ]
**Q:輸入長 寬 高,算出長方體面積**
```python=
lenth = float(input("長:"))
width = float(input("寬:"))
hei = float(input("高:"))
ans = (lenth*width*2)+(lenth*hei*2)+(width*hei*2)
print("面積:" ,end = '')
print(ans)
```
- [ 小練習5 ]
**Q:輸入直徑,算出圓面積**
```python=
r = float(input("直徑:"))
r = r/2
ans = r*r*3.14
print("面積:" , end = '')
print(ans)
```
## 條件判斷
### if...elif...else
```python=
height = float(input("身高:"))
if height >= 180 :
print("tall")
elif height >= 170 :
print("soso")
else :
print("short")
```

### practice
- [ 小練習1 ]
**Q:輸入分數判斷是否及格(>60) 被當 還是死當(<40)**
```python=
score = float(input("分數:"))
if score >= 60 :
print("及格")
elif score >= 40 :
print("被當")
else :
print("死當")
```
- [ 小練習2 ]
**Q:輸入數字判斷其為基數或偶數**
```python=
num = int(input())
if num % 2 == 0 :
print("偶數")
else :
print("基數")
```
- [ 小練習3 ]
**Q:輸入數字判斷是整數還是浮點數**
```python=
num = float(input())
test = int(num)
if num == test:
print("整數")
else:
print("浮點數")
```
- [ 小練習4 ]
**Q:輸入數字判斷是否為3或7的倍數**
```python=
num = int(input())
if num % 3 == 0 :
print("yes")
else :
if num % 7 == 0 :
print("yes")
else :
print("no")
```
- [ 小練習5 ]
**Q:輸入數字判斷是否為3和7的公倍數**
```python=
num = int(input())
if num % 3 == 0 :
if num %7 == 0 :
print("yes")
else :
print("no")
else :
print("no")
```
- [ 小練習6 ]
**Q:輸入兩數字,輸出其最大值**
```python=
num1 = int(input())
num2 = int(input())
if num1 > num2 :
print(num1)
else :
print(num2)
```
## 結構化程式
### while loop
```python=
i = 0
while i < 101:
print(i)
i = i + 1
```

### practice
- [ 小練習1 ]
**Q:輸入任意兩數,計算出其最大公因數**
```python=
i = 1
j = 0
a = int(input())
b = int(input())
while i <= a and i <= b :
if a%i == 0 and b%i == 0:
j = i
i = i + 1
print(j)
```
- [ 小練習2 ]
**Q:輸入一個整數,其剛好介在兩個數平方之間,求哪兩數**
```python=
a = int(input())
i = 0
while i**2 <= a :
i = i+1
print(i-1)
print(i)
```
- [ 小練習3 ]
**Q:輸入任意數字,將其數字全部倒轉**
```python=
a = int(input())
i = 10
while a > 0 :
print(a%i,end="")
a = int(a/i)
```
### for loop
```python=
for i in range(5,100,50):
print(i)
```

### practice
- [ 小練習1 ]
**Q:輸出1加到10的總和**
```python=
sum = 0
for i in range(1,11,1):
sum = sum + i
print(sum)
```
- [ 小練習2 ]
**Q:輸出0到20之所有偶數**
```python=
for i in range(0,21,2):
print(i,end=" ")
```
- [ 小練習3 ]
**Q:從100輸出到0**
```python=
for i in range(100,-1,-1):
print(i,end=" ")
```
- [ 小練習3 ]
**Q:從100輸出到0**
```python=
for i in range(100,-1,-1):
print(i,end=" ")
```
- [ 小練習4 ]
**Q:輸入一個整數,計算小於等於此整數所有數的平方和**
```python=
a = int(input())
sum = 0
for i in range(1,a+1,1):
sum = sum + i**2
print(sum)
```
- [ 小練習5 ]
**Q:輸出9.9乘法表**
```python=
for i in range(1,10):
for j in range(1,10):
print(i,end="")
print("*",end="")
print(j,end="")
print("=",end="")
print(i*j)
```
- [ 小練習6 ]
**Q:輸入一個整數,輸出邊長為該整數之三角形**
```python=
a = int(input())
for i in range(1 , a+1 , 1):
for j in range(1,a-i+1,1):
print(" ",end="")
for k in range(1,i+1,1):
print("*",end="")
print()
```
## array陣列
### 一維陣列
```python=
a = [0]*5
print(a)
```
| 0 | 0 | 0 | 0 | 0 |
| --- | --- | --- | --- | --- |
```python=
a = [1,2,3,4,5]
print(a)
```
| 1 | 2 | 3 | 4 | 5 |
| --- | --- | --- | --- | --- |
### practice
- [ 小練習1 ]
**Q:利用字元陣列儲存名字**
```python=
name = [0]*5
name = input()
for i in range(4):
print(name[i],end = '')
```
- [ 小練習2 ]
**Q:輸入一數字,檢查陣列中有無相同數字**
```python=
arr = [0,1,2,3,4,5,6,7,8]
num = int(input())
check = False
for i in range (9):
if(arr[i] == num):
check = True
print(check)
```
- [ 小練習3 ]
**Q:設定人數,輸入成績取其平均**
```python=
```

```python=
a = input()
a = a.split(' ')
count = 0
for i in range(len(a)):
a[i] = int(a[i])
for i in range (len(a)):
count = count + a[i]
print(count)
```