サンプルコード集 (関数)

トップページ>サンプルコード集 (関数)

サンプルコード集

◯こちらのサンプルコードは指導等にご自由にお使いください。


【サンプルコードの使い方】
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。


【要素ごとのサンプルコードページへ移動】
全て
if文
for文
関数
配列
ファイル入出力
Numpy
Matplotlib
openpyxl
Pandas
正規表現
Biopython
scikit-learn
seaborn
Graphviz
Gemini
Tkinter

【Code List】

CODE: 2-1 (関数)

CODE: 2-2 (関数)

CODE: 2-3 (関数)

CODE: 2-4 (関数)

CODE: 2-5 (関数)

CODE: 2-6 (関数)

CODE: 4-1 (関数)

CODE: 4-2 (関数)

CODE: 5-1 (関数)

CODE: 5-2 (関数)

CODE: 5-3 (関数)

CODE: 5-4 (関数)

CODE: 5-5 (関数)

CODE: 5-6 (関数)

CODE: 7-1 (関数)

CODE: 7-3 (関数)



CODE: 2-1 (関数)


def print_name(name):
    print("私の名前は" + name + "です。")
    return

print_name("田中太郎")




【ポイント】
◯defで関数定義ができる。
◯この関数は何もreturnしない関数。
◯+で文字列の連結ができる。
◯参考: https://qiita.com/yam_dev/items/1665755f8266cb6965ab




CODE: 2-2 (関数)


def calc_mean(a, b, c):
    m = (a + b + c) / 3
    return(m)


m = calc_mean(3, 6, 9)
print(m)




【ポイント】
◯関数は「何を入れて(引数)」「何が出てくるか(返り値)」が重要!!
◯calc_mean()は、3つの数字を入れたら、その平均が出てくる関数。
◯今回のcalc_mean()の中にあるmは、calc_mean()の中だけで通用する変数。外にあるmとは「関係が無い」。




CODE: 2-3 (関数)


def print_hello():
    print("hello!")
    return


print_hello()




【ポイント】
◯このように、引数も返り値もない関数もあるが、特殊な場合を除いてあまり使われることはない。




CODE: 2-4 (関数)


def calc3(x, y, z):
    a = (x * y * z) / 3
    return(a)

for i in range(0, 4):
    x = calc3(i, 3, 6)
    print(x)




【ポイント】
◯関数は「何を入れて(引数)」「何が出てくるか(返り値)」を考えるのが大事!!
◯今回のcalc3()はx, y, zを入れると、それぞれの値の積を3で割った値が出てくる。




CODE: 2-5 (関数)


def calc3(x, y, z):
    a = (x * y * z) / 3
    return(a)

x = 0
for i in range(0, 4):
    x += calc3(i, 3, 6)

print(x)




【ポイント】
◯x += aでxにaを加算する意味となる。




CODE: 2-6 (関数)


def calc3(x, y, z):
    a = (x * y * z) / 3
    return(a)

x = 0
for i in range(0, 5):
    x += calc3(i, 3, 6)

if ( x<100 ):
    print("OK")
else:
    print("NG")




CODE: 4-1 (関数)


def calc_pow(x, n):
    y = 1
    for i in range(0, n):
        y = y * x
    return(y)


x = 4
n = 3
y = calc_pow(x, n)

print(y)




CODE: 4-2 (関数)


def calc_pow(x, n):
    y = 1
    for i in range(0, n):
        y = y * x
    return(y)


x = 2
n = 5
y = calc_pow(x, n)

if ( y<40 ):
    print("OK")
else:
    print("NG")




CODE: 5-1 (関数)


def inch2cm(inch):
    cm = inch*2.54
    return(cm)


def main():
    inch = 15
    cm = inch2cm(inch)
    print(cm)
    return(0)

main()




【ポイント】
◯参考: https://coconala.com/blogs/1162327/532334
https://www.lifewithpython.com/2021/01/python-main-function.html




CODE: 5-2 (関数)


def inch2cm(inch):
    cm = inch*2.54
    return(cm)


def feet2cm(feet):
    cm = feet*30.48
    return(cm)


def main():
    inch = 15
    feet = 3
    cm = inch2cm(inch) + feet2cm(feet)
    print(cm)
    return(0)

main()






CODE: 5-3 (関数)


def inch2cm(inch):
    cm = inch*2.54
    return(cm)


def feet2cm(feet):
    cm = feet*30.48
    return(cm)


def main():
    inch = 10
    feet = 2
    cm = inch2cm(inch) + feet2cm(feet)

    if ( cm>90 ):
        print("OK")
    else:
        print("NG")
    return(0)

main()






CODE: 5-4 (関数)


def calc_second(day, hour, minute):
    sec = day * 24 * 60 * 60 + hour * 60 * 60 + minute * 60
    return(sec)


def main():
    day = 3
    hour = 5
    minute = 15
    sec = 38
    result_sec = calc_second(day, hour, minute) + sec
    print(f"{day}日{hour}時間{minute}分{sec}秒 => {result_sec}秒")
    return(0)


main()




CODE: 5-5 (関数)


def calc_loan_month(loan, year_rate, month_pay):
    year_rate = 1 + year_rate/100
    month = 0

    while ( 1 ):
        month += 1
        if ( month%12==0 ):
            loan *= year_rate
        loan -= month_pay
        if ( loan<=0 ):
            break
        if ( month>10000 ):     # 無限ループを防ぐ
            break

    return(month)


def main():
    loan = 13200000     # 借入金額 (円)
    year_rate = 2            # 年利 (%)
    month_pay = 120000  # 月々の支払 (円)

    month = calc_loan_month(loan, year_rate, month_pay)
    print(f"借入金額: {loan} 円")
    print(f"金利: {year_rate} %")
    print(f"月々の支払: {month_pay} 円")
    print(f"返済期間: {month} 月")

    return(0)


main()




CODE: 5-6 (関数)


def calc_monthly_interest_rate(annual_interest_rate):
    return(annual_interest_rate / 12)


def calc_total_months(years):
    return(years * 12)


def simulate_savings(annual_interest_rate, years, monthly_deposit):
    monthly_interest_rate = calc_monthly_interest_rate(annual_interest_rate)
    total_months = calc_total_months(years)

    total_amount = 0.0
    total_principal = 0.0
    total_interest = 0.0

    for month in range(1, total_months + 1):
        total_amount += monthly_deposit
        total_principal += monthly_deposit

        current_month_interest = total_amount * monthly_interest_rate
        total_amount += current_month_interest
        total_interest += current_month_interest

        if ( month % 12 == 0 ):
            current_year = month // 12

    return(total_interest)


def main():
    monthly_deposit = 20000
    years = 20
    annual_interest_rate = 0.03
    

    final_interest = simulate_savings(annual_interest_rate, years, monthly_deposit)

    final_interest = int(final_interest)

    print(f"月々の積立額:    {monthly_deposit}円")
    print(f"積立年:          {years}年")
    print(f"年利:            {annual_interest_rate}%")
    print(f"最終運用益:      {final_interest}円")
    return(0)


main()




CODE: 7-1 (関数)


def print_myinfo(first, last, age):
    print("私の名前は%s%sです。" % (first, last))
    print("私の年齢は%d歳です。" % (age))
    return

firstname = "山田"
lastname = "太郎"
age = 39

print_myinfo(firstname, lastname, age)





【ポイント】
◯この%記法(sprintfスタイル)を覚えておけばOK!
文字列は%s, 整数は%dだけは覚えておこう。
◯参考: https://www.javadrive.jp/python/string/index23.html




CODE: 7-3 (関数)


def jpg2png(jpgname):
    if ( not(".jpg" in jpgname) ):
        print("Error: 拡張子が.jpgではありません")
        return("")
    else:
        pngname = jpgname.replace(".jpg", ".png")
        return(pngname)

fname = "sample.jpg"
pngname = jpg2png(fname)
print(pngname)





【ポイント】
◯"in"を使うことで、特定の文字列が含まれているかどうかを確かめることができる。
◯文字列の関数(メソッド)の中でもreplace()は頻出!