関数を作ってみましょう
関数を作る.1
関数を作るとは、自分で作ったコードを関数として定義してしまうという事です。
ちょっと、やってみましょうか
以前作った 1から100まで を足すのに使ったプログラムを、関数にしてみましょう。
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(f"合計は{num}です")
これが・・・
def adding_sum():
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(f"合計は{num}です")
こうなります。
どこが変わったかというと、
頭に 「def adding_sum():」をつけて元のコードにインデントを付けただけです。
def と (): の間に、好きな関数名を入れて、これから関数を作りますと宣言します。
「def a ():」でも作れますが、後で見て何に使う関数なのか分からなくなって
しまうので、コードに見合った名前の方がいいですね。
作った関数を実行してみましょう。
上記のコードを実行してみましょう・・・・・・・・・・・・
しかし、何も起こらなかった???
そうなんです! 上記のコードは関数を作っただけなんです。
関数を使うには、関数を実行するコードを書かなくてはいけません。
上記のコードの後に、
adding_sum()
と記述すると
開始 1 最後 100 合計は5050です
実行できましたね。
何でわざわざ 関数を作る かというと、そのコードを何回も使わなければ
ならない場合に、短く書けるし、コードが見やすくなります。
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(f"合計は{num}です")
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(f"合計は{num}です")
これが・・・
def adding_sum():
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(f"合計は{num}です")
adding_sum()
adding_sum()
こうなります。
関数を作る.2
関数には、もう一つありまして、
関数の()の中に”文字や値”(引数)を入れる場合ですね。
もっとも身近なのは、print() 関数ですね。
print() だけだと、何もしてくれないけど、()に文字を入れて
print("HELLO, VIFAM")
HELLO, VIFAM ※ おっさんが、子供の頃好きだった「銀河漂流バイファム」のOPです。
という事ですね。
では、関数を作る.1で作った関数を改造して()の中に値“引数”を入れるタイプにしてみましょう。
def adding_sum(s_num,e_num):
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(f"合計は{num}です")
def adding_sum(s_num,e_num): の
s_num と e_num に引数が入ります。
adding_sum(1,100)
合計は5050です
補足説明
def adding_sum():
s_num = int(input("開始"))
e_num = int(input("最後"))
input を使って値を入力していたのを
def adding_sum(s_num,e_num):
として、
adding_sum(1,100)
関数を使う際に、直に値を入力するようにしました。
コメント等、お気軽にどうぞ ( ̄▽ ̄)