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