前回に引き続き、関数編です。
今回は特に初学者がつまづきやすいポイントにフォーカスを当てた内容です。
2.様々な引数
Q.2-1:次のコードを実行した結果を答えなさい
def concatenate(s1, s2="World!"):
return f"{s1} {s2}"
# 使用例
print(concatenate("Hello"))
Q.2-2:次のコードを実行した結果を答えなさい
def concatenate(s1, s2="World!"):
return f"{s1} {s2}"
# 使用例
print(concatenate("Hello", "World!"))
Q.2-3:次のコードを実行した結果を答えなさい
def concatenate(s1="Hello", s2="World!"):
return f"{s1} {s2}"
# 使用例
print(concatenate("Good Morning"))
Q.2-4:次のコードを実行した結果を答えなさい
def append_if_even(num, list=[]):
if num % 2 == 0:
list.append(num)
return list
# 使用例
print(append_if_even(2))
print(append_if_even(4))
print(append_if_even(6))
Q.2-5:次のコードを実行した結果を答えなさい
i = 5
def print_num(arg=i):
print(arg)
i = 6
print_num()
Q.2-6:次のコードを実行した結果を答えなさい
def concatenate(s1="Hello", s2="World!"):
return f"{s1} {s2}"
# 使用例
print(concatenate(s2="SpringField!"))
Q.2-7:次のコードを実行した結果を答えなさい
def concatenate(s1="Hello", s2="World!"):
return f"{s1} {s2}"
# 使用例
print(concatenate(s2="SpringField!", s1="Thanks"))
Q.2-8:次の関数の呼び出し方法として正しいものには◯を、誤っているものには✗を答えなさい
def add(a, /, b, *, c):
print(a + b + c)
1
add(10, 20, 30, 40, 50)
2
add(10, 20, 30)
3
add(10, 20, c=30)
4
add(10, b=20, c=30)
5
add(a=10, b=20, c=30)
Q.2-9:次の関数の呼び出し方法として正しいものには◯を、誤っているものには✗を答えなさい
def sum_print(*args):
result = 0
for i in args:
result += i
print(result)
sum_print(10, 20, 30, 40, 50)
2
sum_print(10)
3
sum_print()
4
sum_print(10, args=20)
5
sum_print(args=10)
Q.2-10:次の関数の呼び出し方法として正しいものには◯を、誤っているものには✗を答えなさい
def sum_print(start, *args):
result = start
for i in args:
result += i
print(result)
1
sum_print(10, 20, 30, 40, 50)
2
sum_print(10)
3
sum_print()
4
sum_print(10, args=20)
5
sum_print(args=10)
6
list = [1, 2, 3, 4, 5]
sum_print(list)
7
list = [1, 2, 3, 4, 5]
sum_print(*list)
Q.2-11:次の関数の呼び出し方法として正しいものには◯を、誤っているものには✗を答えなさい
def cart(**kwargs):
print(kwargs)
cart(apple=10, orange=20)
2
cart(10)
3
cart()
4
cart(10, kwargs=20)
5
cart(kwargs=10)
6
dict = {"apple":10, "grape":20}
cart(**dict)
3.スコープ
Q.3-1:次のコードを実行した結果を答えなさい
a=100
def add(a, b):
return a + b
# 使用例
result = add(10, 20)
print("足した結果は"+ str(result) +"です")
Q.3-2:次のコードを実行した結果を答えなさい
minus=100
def add(a, b, c=minus):
return a + b - c
# 使用例
result = add(10, 20)
print("計算結果は"+ str(result) +"です")
print("a,bの和から"+ str(minus) +"を引きました")
Q.3-3:次のコードを実行した結果を答えなさい
minus=100
def add(a, b, c=minus):
return a + b - c
# 使用例
minus = 10000
result = add(10, 20)
print("計算結果は"+ str(result) +"です")
print("a,bの和から"+ str(minus) +"を引きました")