def PrintWarning():
print("警告!この操作は禁止されています!")
print("禁止!!!!")
この関数を使うためには、PrintWarning()と入力すればokです。以下にこの関数を使うコードの例を示します。このコードは、偶数を入力するシステムです。偶数以外(奇数や小数)が入力されたとき、警告文が出るようになっています。
print("好きな偶数を入力してください。")
x=float(input())
if x % 2 == 0:
print("あなたの好きな偶数は", x, "ですね。")
elif x % 2 != 0:
PrintWarning()
次に、入力がある場合を扱ってみます。例として、底辺と高さが入力されたとき、その直角三角形の面積を求める関数を作ってみます。PrintWarning関数とどう違うか見比べてみると良いと思います。
def SankakuMenseki(Height, Waidth):
print("高さ:", Height)
print("底辺の長さ:", Waidth)
Menseki = (Height*Waidth)/2
print("三角形の面積:", Menseki)
これでokです。PrintWarning関数と違って、関数名のカッコの中に2つの変数が追加されています。HeightとWaidthに数字を与えてあげると、print関数で高さと底辺の長さをが表示されます。そして、三角形の面積が計算され、これをprint関数で出力しています。この関数を実際に使ってみます。
SankakuMenseki(2, 3)
上のように、関数名を書き、2つの数字を入れてあげればokです。2つの数字を入れてあげなくてはいけないので、以下のように1つしか入れない場合はエラーになります。Waidthはいくつだよ、となってしまいます。
SankakuMenseki(2)
関数を作るとき、入力として代表的な値が決まっているときは、関数を定義する際、その値をつけておくこともできます。以下の関数は、Waidthに初めから2を入れているパターンです。(大量の入力を要するような開発をするとき以外は、使わなくて良いと思います)
def SankakuMenseki_Ver2(Height, Waidth=2):
print("高さ:", Height)
print("底辺の長さ:", Waidth)
Menseki = (Height*Waidth)/2
print("三角形の面積:", Menseki)
すると、以下のように入力が一つでも機能するようになります。Heightを1とし、Waidthは最初から与えられている2を用いて計算していることがわかります。
SankakuMenseki_Ver2(1)
もちろん、waidthも入力することができます。
SankakuMenseki_Ver2(2, 5)
最後に、入力があり、返り値もある関数について説明します。一番よく使います。今までの関数は、計算結果をprint関数で表示しているだけでした。計算結果を表示するのではなく、受け取って別の計算に反映させたい、という場合も出てくるでしょう。関数が数字を返して欲しいわけです。これを返り値と言います。
以下の関数は、四角形の面積を求める関数です。これは、前に構築したSankakuMenseki関数とは違い、具体的な値を返してくれます。
def ShikakuMenseki(Height, Waidth):
Menseki = Height*Waidth
return Menseki
SankakuMensekiのときにはなかった、return Mensekiが記されています。これは、Mensekiに入っている値を返してくれる、という意味を持っています。以下は、実際に使って見たコードです。ShikakuMenseki関数の返り値を、変数aが受け取っています。そのため、aには面積が入っています。
a=ShikakuMenseki(2,10)
print("四角形の面積:", a)
# 総和を計算する関数
def SumValue(L):
s=0
for i in range(0, len(L)):
s=s+L[i]
return s
# 関数の利用
b = [1, 2, 3, 4, 5]
c = SumValue(b)
print(c)
以下の関数は、奇数か偶数か判定してくれる関数です。
# 奇数・偶数を判定する関数
def ValueRecognition(v):
if v % 2 == 0:
print("偶数")
if v % 2 == 1:
print("奇数")
# 関数の利用
ValueRecognition(100)
ValueRecognition(55)
以下の関数は、入力された数字を絶対値に変換し、出力する関数です。
# 絶対値に変換する関数
def AbsFunc(s):
if s < 0:
return (-1)*s
elif s >= 0:
return s
# 関数の利用
print("入力数字:")
x = float(input())
print("絶対値:", AbsFunc(x))