◯こちらのサンプルコードは指導等にご自由にお使いください。
【サンプルコードの使い方】
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。
◯本マークを押すとカテゴリーの解説が見られます。
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。
◯本マークを押すとカテゴリーの解説が見られます。
【カテゴリーごとのページへ移動】
【Code List】
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: 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: 5-7 (メイン関数)
def calculate_epicenter_distance(s_p_time_diff, vp, vs): """ 大森公式を使って、P波とS波の到達時間差から震源地までの距離を計算する。 """ if ( s_p_time_diff < 0 ): return(-1) if ( vp <= vs ): return(-1) if ( vs <= 0 ): return(-1) k = (vp * vs) / (vp - vs) distance = k * s_p_time_diff return(distance) def main(): # 例: S-P時間が5秒で、異なるP波/S波速度を指定 sp_time = 5.0 vp = 8.0 vs = 4.5 distance = calculate_epicenter_distance(sp_time, vp, vs) if ( distance>=0 ): print("S-P時間: %.2f秒 (Vp=%.2f, Vs=%.2f) の場合、震源地までの距離は %.2f km です。" % (sp_time, vp, vs, distance)) else: print("Error") return(0) main()

◯sprintfスタイルの場合、%.2fとすることで、小数第二桁まで出力することができる。
◯参考: https://qiita.com/tomotaka_ito/items/594ee1396cf982ba9887
