次のプログラムの空欄①と②を埋め、「こんにちは」と表示する関数 greet() を完成させてください。
プログラム
def greet():
print( "①" )
② # 関数を呼び出す
実行結果
こんにちは
この関数は、引数も戻り値も必要ないんだね。
だから関数名の後ろの()には何も書いてないし、returnもないのか。
情報活用編プラス
第3章「コンピュータとプログラミング」
IP02-07
関数を使ってみよう
次のプログラムの空欄①と②を埋め、「こんにちは」と表示する関数 greet() を完成させてください。
プログラム
def greet():
print( "①" )
② # 関数を呼び出す
実行結果
こんにちは
この関数は、引数も戻り値も必要ないんだね。
だから関数名の後ろの()には何も書いてないし、returnもないのか。
①
②
次のプログラムの空欄③を埋めて、引数 name を受け取り、「こんにちは、〇〇さん」と表示する関数を完成させてください。
プログラム
def greet_name(name):
print( "こんにちは、" + ③ + "さん" )
greet_name("育人") # 関数を呼び出す 引数として、"育人"という文字列を渡す
実行結果
こんにちは、育人さん
③
プログラムの④を埋め、2つの数を受け取り、その合計を返す関数 add(a, b) を完成させてください。
プログラム
def add(a, b):
return ④
result = add(3, 5)
print(result) # 8 と表示される
実行結果
8
今度は、引数も戻り値もありますね。
合計だから計算しなくちゃだけど、④のところでやっていいんだよね?
その通りです。2つの値の加算結果を求める計算式を書いて下さい。
④
プログラムの⑤と⑥を埋め、1つの数を受け取り、それが偶数なら「True」、奇数なら「False」を返す関数を完成させてください。
プログラム
def judge(num):
if num % 2 == 0:
return ⑤
else:
return ⑥
num = 7
if judge(num):
print("偶数")
else:
print("奇数")
実行結果
奇数
この関数、returnが2つある!!
そうなんです。1つの関数に複数のreturnがあって構いません。
ただし、returnが実行されたら、そこで関数は終了です。それ以降の処理は実行されません。
関数の呼び出しが、そのままifの条件に使われていますね。
この場合は、戻り値が「True」なら成立、「False」なら非成立となります。
⑤
⑥
プログラムの⑦を埋め、2つの数を受け取り、大きい方を返す関数 max_num(a, b) を完成させてください。
プログラム
def max_num(a, b):
if ⑦:
return a
else:
return b
print(max_num(10, 6)) # 10 と表示される
実行結果
10
完成したら、7行目の10と6をいろんな値に変えて実行してみましょう。
⑦
プログラムの⑧と⑨を埋め、2つの数を受け取り、もし割る数が0なら「割れません」と表示し、0でなければ割り算の結果を返す関数を完成させてください。
プログラム
def divide(a, b):
if ⑧:
return ⑨
else:
return a / b
print(divide(10, 2)) # 5.0 と表示される
print(divide(20, 0)) # 割れません と表示される
実行結果
5.0
割れません
関数を2回呼び出していますね。
一度作ったら、何度でも使えますよ。
⑧
⑨
※この再現版では提出は行いません(送信先は未接続です)