サンプルコード集
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。
◯全て
◯if文
◯for文
◯関数
◯配列
◯ファイル入出力
◯Numpy
◯Matplotlib
◯openpyxl
◯Pandas
◯正規表現
◯Biopython
◯scikit-learn
◯seaborn
◯Graphviz
◯Gemini
◯Tkinter
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()は頻出!
