◯こちらのサンプルコードは指導等にご自由にお使いください。
【サンプルコードの使い方】
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。
◯本マークを押すとカテゴリーの解説が見られます。
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。
◯本マークを押すとカテゴリーの解説が見られます。
【カテゴリーごとのページへ移動】
◯全て
◯if文
◯for文
◯関数
◯配列
◯メイン関数
◯openpyxl
◯文字列
◯正規表現
◯ファイル入出力
◯Numpy
◯Matplotlib
◯Pandas
◯Biopython
◯scikit-learn
◯seaborn
◯Graphviz
◯Gemini
◯Tkinter
◯全て
◯if文
◯for文
◯関数
◯配列
◯メイン関数
◯openpyxl
◯文字列
◯正規表現
◯ファイル入出力
◯Numpy
◯Matplotlib
◯Pandas
◯Biopython
◯scikit-learn
◯seaborn
◯Graphviz
◯Gemini
◯Tkinter
【Code List】
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
