前言#
新年快乐呀!随着春节假期来到尾声,大家的生活也逐渐回归正常,这段时间一直闲的没事,亲戚也很少走,我就写了我一直想写的 BMI 计算。
什么是 BMI#
身体质量指数,是 BMI(Body Mass Index)指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。
计算公式为:BMI = 体重 ÷ 身高 2。(体重单位:千克;身高单位:米。)
BMI 由 19 世纪中期的比利时通才凯特勒最先提出
摘自 百度百科
BMI 在不同国家中,有不同的标准,其中 International Normal Standard 为 20 – 25,此次我才用了 PRC Standard (中国标准),其中 PRC Normal Standard 为 18.5 – 23.9。
输出预览#
其中带 #的部分是我的解释,正式运行是没有的
こんにちは!お会いできて嬉しいです。あなたの名前は何ですか?
マグネット # 我输入的值
わかりました!マグネット。あなたのBMIと分類(成人)を計算しましょう。
あなたの体重(kg)を入力してください
42 # 我输入的值
あなたの身長(m)を入力してください
1.65 # 我输入的值
こんにちは、マグネット!あなたのBMIは15.426997245179065です。
ああ!マグネット!あなたは低体重で、BMIは基準を下回っています。
基準はPRCから来ています
Enterを押して終了します
全部代码#
############################
### Date 2022 January 24 ###
### Author Magneto ###
### Name BMI計算 <——>
### Facility iPad ###
### Language Python ###
############################
#歓迎画面
print("こんにちは!お会いできて嬉しいです。あなたの名前は何ですか?") # 字串符
the_name = input()
print(f"\nわかりました!{the_name}。あなたのBMIと分類(成人)を計算しましょう。") # 字串符
#入力値
print("\nあなたの体重(kg)を入力してください")
weight = input()
print("\nあなたの身長(m)を入力してください")
height = input()
#値を変換
your_weight = float(weight)
your_height = float(height)
#計算
number = your_weight/(your_height*your_height)
the_number = float(number)
#数値を得る
print(f"\nこんにちは {the_name}!あなたのBMIは {the_number} です。\n") # 字串符
#分析
if the_number < 18.5:
print(f"ああ!{the_name}!あなたは低体重で、BMIは基準を下回っています。")
elif 18.5 <= the_number <= 23.9:
print(f"{the_name}、あなたのBMIは正常です。")
elif 23.9 < the_number <= 27.9:
print(f"{the_name}、あなたは過体重で、BMIは基準を超えています。")
elif 27.9 < the_number <= 32:
print(f"{the_name}、あなたは太りすぎで、BMIは基準を大きく上回っています。")
else:
print(f"{the_name}、あなたは基準を大幅に超えています。体重を減らしてください。")
print("\n基準はPRCから来ています")
x = input('Enterを押して終了します')
代码分析#
分析说明#
コード分析は、各行のコードがどのようなタイプで、何のために使用され、どのように使用されるかを具体的に説明します。行数にはコメントが占める行数も含まれます。
注释#
Python では、コメントは井号(#)で識別されます。井号の後の内容は Python インタプリタによって無視されます。本プログラムの第 1-8 行、第 12 行、第 17 行、第 23 行、第 25 行はすべてコメントです。
例 #1
#歓迎画面
print("こんにちは!お会いできて嬉しいです。あなたの名前は何ですか?")
Python インタプリタは最初の行を無視し、2 行目だけを実行します。
こんにちは!お会いできて嬉しいです。あなたの名前は何ですか?
コメントの役割は何ですか?
コメントを書く主な目的は、コードが何をするのか、どのようにするのかを説明することです。開発中は、各部分がどのように協力して機能するかを理解していますが、しばらくすると、いくつかの詳細を忘れてしまうことがあります。もちろん、コードを研究することで各部分の動作を確認できますが、コメントを書くことで、自然言語でそのコードの概要を明確にすることができ、将来そのコードを再度書く際に多くの時間を節約できます。
現在、多くのソフトウェアは共同で作成されており、作成者は同じ会社の複数の従業員である可能性があり、同じオープンソースプロジェクトの開発者である可能性もあります。協力を容易にするために、コメントは不可欠です。したがって、プログラムの最初からコメントを書くことをお勧めします。
ユーザー入力#
ほとんどのプログラムは最終ユーザーの問題を解決することを目的としており、そのためにはユーザーからの情報を取得する必要があります。したがって、ユーザー入力は非常に重要です。Python では、input()
関数を使用することで効果的に問題を解決できます。本プログラムでは、第10行
、第14行
、第16行
、第37行
でこの関数を使用しています。
例 #1
# 基本的なinput()の使い方
Message = input("こんにちは、世界")
print(Message)
このコードを実行すると、次の内容が表示されます。
こんにちは、世界
実行後、プログラムはユーザーの入力を待機し、ユーザーが Enter を押すと続行します。入力値は変数Message
に割り当てられ、次のprint(Message)
は入力された内容をユーザーに表示します:
こんにちは、世界ImMagneto
ImMagneto
正式なプログラムでは、上記の方法はあまり使用されず、より明確な方法が使用されます。これにより、ユーザーがどのような情報を提供する必要があるかを正確に示すことができます。
例 #2
name = input("あなたの名前を入力してください:")
print(f"\nこんにちは{name}!")
実行と対話の後、次のようになります:
あなたの名前を入力してください:マグネット
こんにちはマグネット!
このプログラムでは、分離された書き方を使用して、文をより明確にしています。
例 #3
print("こんにちは!お会いできて嬉しいです。あなたの名前は何ですか?")
the_name = input()
print(f"\nわかりました!{the_name}。あなたのBMIと分類(成人)を計算しましょう。")
print()
とinput()
を組み合わせることで、コードをより明確で視覚的にすることができます。
こんにちは!お会いできて嬉しいです。あなたの名前は何ですか?
マグネット
わかりました!マグネット。あなたのBMIと分類(成人)を計算しましょう。
ただし、ユーザー向けの内容には変化はありませんが、大規模なプロジェクトの開発では良い書き方です。このような書き方は、バグの発生を効果的に減少させ、指定された場所でのみユーザーが書いた内容を呼び出すことができます。
整数と文字列を浮動小数点数に変換する#
必要な計算と表示を行うために、整数と文字列を浮動小数点数に変換する必要があります。これには、float()
という関数を導入する必要があります。
float () メソッドの構文
class float([x])
ここで、x は整数または文字列を表し、実行後に浮動小数点数が返されます。
例 #1
>>> float(1)
1.0
>>> float(112)
112.0
>>> float(-123.6)
-123.6
>>> float('123') # 文字列
123.0
このプログラムでは、浮動小数点数を計算する必要があり、明確な書き方を遵守するために、分離された書き方を採用しています。
例 #2
#計算
number = 51.2/(1.6*1.6)
the_number = float(number)
#数値を得る
print(f"あなたのBMIは {the_number} です。")
最終的な出力は次のようになります。
あなたのBMIは 20.351562499999996 です。
浮動小数点数は無限小数に遭遇すると、切り捨てられます。
ユーザーが入力した値も直接計算できず、浮動小数点数に変換する必要があります。幸運なことに、ユーザーが入力した値も整数と文字列であるため、float()
関数を使用して変換できます。
例 #3
#入力値
print("\nあなたの体重(kg)を入力してください")
weight = input()
print("\nあなたの身長(m)を入力してください")
height = input()
#値を変換
your_weight = float(weight)
your_height = float(height)
#計算
number = your_weight/(your_height*your_height)
the_number = float(number)
#数値を得る
print(f"\nあなたのBMIは {the_number} です。")
実行後は次のようになります:
あなたの体重(kg)を入力してください
51.2
あなたの身長(m)を入力してください
1.6
あなたの BMI は 20.351562499999996 です。
if-elif-else 文#
2 つ以上の異なる状況をチェックする必要がある場合、if-elif-else
構造を使用できます。これは、各条件テストを順番にチェックし、合格した条件テストに出会うまで続きます。テストが合格すると、後続のコードが実行され、残りのif-elif-else
文のコードはスキップされます。説明を簡単にするために、直接例を挙げる方が書き方を示すよりも良いでしょう。
例 #1
私たちが必要とする要件:
BMI 値が 18.5 未満の場合、基準値を下回っていることを伝えます。
BMI 値が 18.5 以上 23.9 以下の場合、基準値に達していることを伝えます。
BMI 値が 23.9 より大きく 27.9 以下の場合、基準値を超えていることを伝えます。
数学の範囲を通じて、これらの値の範囲は(-∞,27.9]
であり、これらの値の外にあるすべての値は、基準を大幅に超えているため、基準を大幅に超えていることを伝える必要があります。
これらの要件に基づいて、必要なif-elif-else
文は次のようになります:
#分析
if the_number < 18.5:
print(f"あなたは低体重で、BMIは基準を下回っています。")
elif 18.5 <= the_number <= 23.9:
print(f"あなたのBMIは正常です。")
elif 23.9 < the_number <= 27.9:
print(f"あなたは過体重で、BMIは基準を超えています。")
elif 27.9 < the_number <= 32:
print(f"あなたは太りすぎで、BMIは基準を大きく上回っています。")
else:
print(f"あなたは基準を大幅に超えています。体重を減らしてください。")
前のif-elif
は(-∞,27.9]
の範囲内のすべての数を含んでいるため、else
は(27.9,+∞)
のみを含み、基準を大幅に超えている部分です。
次に、値が 20 であると仮定しましょう。
the_number = 20
if the_number < 18.5:
print(f"あなたは低体重で、BMIは基準を下回っています。")
elif 18.5 <= the_number <= 23.9:
print(f"あなたのBMIは正常です。")
elif 23.9 < the_number <= 27.9:
print(f"あなたは過体重で、BMIは基準を超えています。")
elif 27.9 < the_number <= 32:
print(f"あなたは太りすぎで、BMIは基準を大きく上回っています。")
else:
print(f"あなたは基準を大幅に超えています。体重を減らしてください。")
その結果、次の内容が得られます:
あなたのBMIは正常です。
if-elif-else
文と Python の特性により、この部分の内容は自然言語に非常に近いため、翻訳方法は非常に適用可能です。具体的な翻訳はここでは示しません。
尾声#
1 年前、私は多くの友人たちと一緒に、数行のコードで他の人の数百行のタスクを完了できる大神たちについて議論しました。彼らは非常に強力です。私たちもそのような大神になるためには十分な積み重ねが必要です。私はそのような人々の存在を否定することはありませんし、彼らの強さを否定することもありませんが、私の認識では、真に優れたプログラミング能力は、自分が書いた内容を明確に示し、どの部分が何をしているのかを明確かつ簡潔に伝えることができることです。一筆で完了するのではなく、これがプログラミングの意義です。もちろん、適度に短縮することで自分の意図をより良く表現することもできます。自然言語の成語のように。この号のタイトルが「未来に向けた BMI 計算」と呼ばれる理由もここにあります。未来のプログラミングでは、明確なコードだけが存在するでしょう。そのため、コードを分析する際には、常に規範的で明確な書き方を行っています。これは未来に向けてのものです!
この文は Mix Space によって xLog に同期更新されています。原始リンクは https://fmcf.cc/posts/technology/Python_Notes_3