前置き
日本では、野球の投手の球速や野手の打球速度を測る時に、キロ(km)が使用されているが、アメリカでは、マイル(mile)が使用されている。そこで、今日は、キロからマイルに変換できるプログラムコードを作成してみたかった。
プログラムコード(マイルからキロに変換)
from tkinter import *
def miles_to_km():
miles = float(miles_input.get())
km = miles * 1.609344
kilometer_result_label.config(text=f"{km}")
window = Tk()
window.title("Miles to Km converter")
window.config(padx = 20, pady = 20)
miles_input = Entry(width = 7)
miles_input.grid(column = 1, row = 0)
miles_label = Label(text = "Miles")
miles_label.grid(column = 2, row = 0)
is_equal_label = Label(text = "is equal to")
is_equal_label.grid(column = 0, row = 1)
kilometer_result_label = Label(text = "0")
kilometer_result_label.grid(column = 1, row = 1)
kilometer_label = Label(text = "Km")
kilometer_label.grid(column = 2, row = 1)
calculate_button = Button(text = "Calculate", command = miles_to_km)
calculate_button.grid(column = 1, row = 2)
window.mainloop()
出力結果
ちなみに
一般的に投手が100マイル、野手が打球速度175kmを計測したら超一流と言われている。
日本で1番球速が速い投手は、大谷翔平(ドジャース)の165km/hである。
今年のプロ野球においては、佐々木郎希(ロッテ)の160km/hである。
世界最速投手はアロルデイスチャップマンが計測した169.1kmだ。
日本で打球速度が一番速い野手は柳田悠岐(ソフトバンク)が181km/hを計測している。
阪神タイガースでは、森下翔太選手が今季第3号を放った際、175km/hを計測している。
一方、メジャーリーグでは、R.アクーニャJr.(ブレーブス)が195.1km/hを計測している。
大谷翔平(ドジャース)は4位の190.9km/hを計測している。
引用元:https://number.bunshun.jp/articles/-/860425?page=2
引用元:https://www.nikkansports.com/baseball/news/202404100001880.html
プログラムコード(マイルとキロを相互変換)
def miles_to_kilometers(miles):
"""
マイルをキロメートルに変換する
"""
kilometers = miles * 1.609344
return kilometers
def kilometers_to_miles(kilometers):
"""
キロメートルをマイルに変換する
"""
miles = kilometers / 1.609344
return miles
def convert_distance(dist_str):
"""
距離と単位が入力された文字列を受け取り、変換された距離と単位を表示する
"""
if 'mi' in dist_str.lower():
miles = float(dist_str[:-2])
kilometers = miles_to_kilometers(miles)
return f"{miles} マイル = {kilometers:.2f} キロメートル"
elif 'km' in dist_str.lower():
kilometers = float(dist_str[:-2])
miles = kilometers_to_miles(kilometers)
return f"{kilometers} キロメートル = {miles:.2f} マイル"
else:
return "入力が無効です。マイルは 'mi' を、キロメートルは 'km' を付けてください。"
# ユーザー入力例
user_input = input("距離を入力してください(例: 10mi, 20km): ")
print(convert_distance(user_input))
プログラムコードの説明
このコードでは、ユーザがkm(キロ)に数値を入力したらmile(マイル)が表示される。
反対に、mile(マイル)に数値を入力したらkm(キロ)が表示されるいう仕組みだ。
出力結果
距離を入力してください(例: 10mi, 20km): 175km
175.0 キロメートル = 108.74 マイル
距離を入力してください(例: 10mi, 20km): 190.9km
190.9 キロメートル = 118.62 マイル
距離を入力してください(例: 10mi, 20km): 100mi
100.0 マイル = 160.93 キロメートル
森下翔太選手(阪神タイガース)の175km/hという打球速度は、108.74マイルになる。
大谷翔平選手(ロサンジェルスドジャース)の190.9km/hという打球速度は、118.62マイルになる。一方、 100マイルは、160.93kmになる。
このように、ちゃんとユーザーがキロメートルの数字を入力したらマイルが出力され、マイルを入力したらキロメートルが出力される。
皆さんも時間がある時に、このプログラムコードを参考にしながら、キロメートルをマイルに変換してみたり、マイルをキロメートルに変換してみてはいかがでしょうか。