私はPythonプログラミングの初心者です。私のコードを見て解読する可能性は非常に高いです。マイナステストの改善のためにコードを改善する方法を知りたいですか?このPythonコードを改善してネガティブテストを改善するにはどうすればよいですか?
ageinmonths = input("Enter your age in months: ")
age = int(ageinmonths,10)
if type(age) == float:
print("Invalid age format entered")
if type(age) == str:
print("Invalid age format entered")
years = int(age/12)
months = age%12
print("Your exact age in years and months is",years,"years",months,"months")
上記のコード行の問題は、適切な値ex:56、48などを数ヶ月入力すると問題なく動作します。
しかし、私は、無効な値を入力してしまった場合、私は、以下に示すエラーメッセージが表示されます。
Enter your age in months: Welcome
Traceback (most recent call last):
File "C:\Users\Srinivas\Documents\python\guess_age.py", line 2, in <module>
age = int(ageinmonths,10)
ValueError: invalid literal for int() with base 10: 'Welcome'
>>>
私は無効に負のテストのための適切なエラーメッセージを追加するために自分のコードを改善する方法を知りたいですこのような文字列、特殊文字などの検索基準は、私は、Python 3.6(32ビット版)を使用していますなど
浮かびます。
あなたは、例外処理を使用します。 '' Welcome "'から整数を作成しようとする試みは失敗します。あなたは 'try ... except'ブロックでそれを囲みたいと思っています。詳細はこちら:https://docs.python.org/3/tutorial/errors.html –
@ReutSharabaniありがとうございました! – user3002318