題目鏈接:https://www.educoder.net/tasks/g5va2e4cofj6
第1關:函數的參數 - 搭建函數房子的磚
#coding=utf-8
# 創建一個空列表numbers
numbers = []
# str用來存儲輸入的數字字符串,lst1是將輸入的字符串用空格分割,存儲爲列表
str = input()
lst1 = str.split(' ')
# 將輸入的數字字符串轉換爲整型並賦值給numbers列表
for i in range(len(lst1)):
numbers.append(int(lst1.pop()))
# 請在此添加代碼,對輸入的列表中的數值元素進行累加求和
#********** Begin *********#
d=0
for x in numbers:
d+=x
#********** End **********#
print(d)
第2關:函數的返回值 - 可有可無的return
#coding=utf-8
# 輸入兩個正整數a,b
a = int(input())
b = int(input())
# 請在此添加代碼,求兩個正整數的最大公約數
#********** Begin *********#
def gcd(x, y):
"""該函數返回兩個數的最大公約數"""
# 獲取最小值
if x > y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
gcd = i
return gcd
#********** End **********#
# 調用函數,並輸出最大公約數
print(gcd(a,b))
第3關:函數的使用範圍:Python作用域
#coding=utf-8
# 輸入兩個正整數a,b
a = int(input())
b = int(input())
# 請在此添加代碼,求兩個正整數的最小公倍數
#********** Begin *********#
def lcm(x, y):
# 獲取最大的數
if x > y:
greater = x
else:
greater = y
while(True):
if((greater % x == 0) and (greater % y == 0)):
lcm = greater
break
greater += 1
return lcm
#********** End **********#
# 調用函數,並輸出a,b的最小公倍數
print(lcm(a,b))