def distance(x1, y1, x2, y2):
return ((x1-x2)**2 + (y1-y2)**2)**0.5
x1 = float(input())
y1 = float(input())
x2 = float(input())
y2 = float(input())
print(distance(x1, y1, x2, y2))
from math import sqrt
def distance(x1, y1, x2, y2):
return sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
x1 = float(input())
y1 = float(input())
x2 = float(input())
y2 = float(input())
print(distance(x1, y1, x2, y2))
def power(a, n):
res = 1
for i in range(abs(n)):
res *= a
if n >= 0:
return res
else:
return 1 / res
print(power(float(input()), int(input())))
def capitalize(lower_case_word):
return lower_case_word.capitalize()
a = [i for i in input().split()]
for i in range(0, len(a)):
a[i] = capitalize(a[i])
print(' '.join([str(i) for i in a]))
def power(a, n):
return a**n
print(power(float(input()), int(input())))
def f():
a = int(input()) # 讀取輸入,轉換為整數並賦值給變數 a
if (a != 0): # 檢查 a 是否不等於 0
f() # 如果 a 不等於 0,遞迴調用函數 f()
print(a) # 輸出當前的 a
f() # 初次調用函數 f()
初次調用 f():
使用者輸入一個整數值給 a。例如,假設輸入的是 3。
程式會檢查 a != 0 是否成立,因為 3 不等於 0,所以程式會進行遞迴,再次調用 f()。
第二次調用 f():
再次要求使用者輸入一個數字,例如 2。
因為 2 也不等於 0,因此程式再次調用自己,進行下一層遞迴。
第三次調用 f():
使用者輸入 1。
由於 1 仍不等於 0,再次遞迴。
第四次調用 f():
假設這次輸入 0。
因為 a == 0,這次不會再遞迴,而是直接進入 print(a),輸出 0,然後結束這次函數調用。
返回遞迴的每一層:
因為遞迴結束後程式會回到前一層調用,接著會執行前一層的 print(a)。
第三層的 a 是 1,所以輸出 1。
然後返回第二層,輸出 2。
最後返回第一層,輸出 3。
Fibonacci numbers
😈 這一題是最經典的題目
def fib(n):
if (n == 1): # 基本情況:如果 n 是 1,直接返回 1,因為 F(1) = 1
return 1
elif (n == 0): # 基本情況:如果 n 是 0,直接返回 0,因為 F(0) = 0
return 0
# 遞迴計算:如果 n 大於 1,返回 F(n-1) + F(n-2)
return fib(n - 1) + fib(n - 2)
# 程式會讀取一個使用者輸入的整數,並計算對應的斐波那契數
print(fib(int(input())))
初始條件:
使用者輸入一個整數 n,這是要計算的斐波那契數列的第 n 個數。
基本情況:
如果 n == 0,函數直接返回 0。
如果 n == 1,函數直接返回 1。
這是 遞迴的終止條件,也稱為「基底情況」,它防止遞迴無限進行。
遞迴情況:
如果 n > 1,函數會以遞迴方式調用自己兩次,分別計算 fib(n-1) 和 fib(n-2),然後將兩者相加來得到結果。
這就是斐波那契數列的遞迴公式:F(n) = F(n-1) + F(n-2)。
輸出結果:
最後,程式將遞迴結果輸出,顯示第 n 個斐波那契數。