---
# System prepended metadata

title: 1-8 Challenge

---

# 1-8 Challenge
### 1.閏年與平年
```python=
year = int(input("請輸入年份：")) #輸入的年份必為整數(int)

if year%400 == 0: #若年份除以400的餘數為0（可整除），則為閏年
    print("此年為閏年")
elif year%4 != 0: #若年份除以400的餘數不為0，則為平年
    print("此年為平年")
elif year%100 == 0 and year%400 != 0: #若年份除以100可整除且除以400的餘數不為0，則為平年
    print("此年為平年")
    elif year%4 == 0 and year%100 != 0: #若年份除以4的餘數為0且除以100不為0，則為閏年
    print("此年為閏年")
else:
    print("請輸入一個四位數") #需輸入四位數
```
---> 請輸入年份：1987
此年為平年
### 2. 總和
```python=
i = 0
num = int(input("Please insert a number: ")) 
sum = 0

for i in range(0, num, 1):#for 迴圈裡1-num個數字加起來是sum
    sum += num
    num -= 1

print ("The total amount is: " + str(sum)) #列印sum
```
---> Please insert a number: 8
The total amount is: 36
### 3. 列印矩形
```python=
for i in [1, 2, 3, 4]:#橫排4行
    for j in [1, 2, 3, 4, 5]: #直排5行
        print("*", end="") 
    print ()
```
---> ![](https://i.imgur.com/8CRNiA1.png)
### 4. 列印三角形
```python=
num=input ('請輸入一個數字')
a=int(num)
b=1
for i in range (a):#共有a排
    for i in range (a-1,0,-1):#共有a-1個空格
        print(" ",end="")
    a=a-1#讓a隨著迴圈遞減
    for i in range(b):#第一行只有1個以此類類推重複幾次就有幾個
        print ("*",end="")
    b=b+1#讓b和排數一樣
    print ()#換行
```
--->![](https://i.imgur.com/Kse55bc.png)
### 5. 列印金字塔
### 6. 公式解一元二次方程式
```python=
a = int(input("請輸入a: ")) #輸入abc三個數字
b = int(input("請輸入b: "))
c = int(input("請輸入c: "))

if b**2-4*a*c == 0:
    q = (-b+(b**2-4*a*c)**0.5)/2 #若D=0則重根
    p = (-b-(b**2-4*a*c)**0.5)/2
    print ("x為"+str(q)+"重根")
elif b**2-4*a*c > 0:
    k = (-b+(b**2-4*a*c)**0.5)/2 #若D>0則有兩解
    p = (-b-(b**2-4*a*c)**0.5)/2
    print (f"x為:{k:.2f}和{p:.2f}") #只留小數點後兩位
else: 
    print ("無解") #D<0則無解
```
---> 請輸入a: 1
請輸入b: 4
請輸入c: 1
x為:-0.27和-3.73
### 8. 終極密碼
```python=
import random #插入隨機數字
lowest = 1
highest = 100
answer = random.randint(1, 100) #答案介於1~100

while True:
    num = int(input("請輸入介於"+str(lowest)+"和"+str(highest)+"之間的數字："))

    if str(num) == str(answer):
        print("Correct!")
        break
    elif str(num) < str(answer):
            lowest = num
    elif str(num) > str(answer):
            highest = num
    else: 
        print("範圍錯誤")
```
---> ![](https://i.imgur.com/6NfiD3B.png)

