8/23練習

a004: 閏年檢測

題目:輸入若干數列,分別輸出是平年或閏年

思路:因為不知道有多少input,以無限迴圈+try/except處理,在try裡面寫判斷式
答案:
while(True): try: y=int(input()) print('閏年') if y % 400 == 0 else print('平年') if y % 100 == 0 else print('閏年') if y % 4 == 0 else print('平年') except: break

a005: 數列

題目:先輸入數列的數量,再分別輸入若干數列的前四項(等比或等差),輸出數列及第五項

思路:先迴圈至指定的數量,再以IF判斷為等比或等差,輸出原數列後再輸出第五項
答案:
            k=int(input())
            i=0
            while i⁢k:
                li=list(map(int,input().split()))
                if li[2]-li[1]==li[1]-li[0]:
                    for num in li :
                        print(num,end=' ')
                    print(li[3]*2-li[2])
                else:
                    for num in li :
print(num,end=' ')
print(int(li[3]**2/li[2]))
i+=1

a006: 一元二次方程式

題目:輸入a、b、c代表ax^2+bx+c=0,輸出解

思路:先計算判斷式,再用IF分別輸出
答案: 
a,b,c=list(map(int,input().split()))
judge=b**2-4*a*c
if judge>0:
print(f"Two different roots x1={int((b*-1+judge**0.5)/a/2)} , x2={int((b*-1-judge**0.5)/a/2)}")
elif judge==0:
print(f"Two same roots x={int((b*-1+judge**0.5)/a/2)}")
else:
print("No real root")
arrow_circle_left home arrow_circle_right