1
0
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

Pythonでマイル(mile)とキロ(km)を変換するプログラムコードを作成してみた

Last updated at Posted at 2024-06-27

前置き

日本では、野球の投手の球速や野手の打球速度を測る時に、キロ(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()

出力結果

Screenshot 2024-06-26 at 18.31.41.png
1マイルは、1.609344kmで変換できる。

ちなみに

一般的に投手が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になる。

このように、ちゃんとユーザーがキロメートルの数字を入力したらマイルが出力され、マイルを入力したらキロメートルが出力される。

皆さんも時間がある時に、このプログラムコードを参考にしながら、キロメートルをマイルに変換してみたり、マイルをキロメートルに変換してみてはいかがでしょうか。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0