2016-09-28 10 views
-2

私のコードでfloatデータ型を取得しようとしています。私のコードはこれまで通りです。あなたは私はPythonの1つの変数に2つのデータ型を使用しようとしていますか?

age = float(input("Age of the dog: ")) 

にあなたの最初の行を変更した場合は

age = int (input("Age of the dog: ")) 

if age <= 0: 
    print ("This can not be true!") 
elif age == 1: 
    print ("He/she is about 14 in human years.") 
elif age == 2: 
    print ("He/she is about 22 in human years.") 
elif age > 2: 
    human = 22 + (age - 2) * 5 
    print ("He/she is about", human, "human years") 
+0

Doがあなたの年齢が同様に浮動小数点で最後に表示したい言及します。 – thiruvenkadam

答えて

0

あなたのプログラムは、浮動小数点の年齢が表示されます。

+0

rbanffyこれは完全には機能しません。私は浮動小数点型のために1.2を入力し、年齢は正しくありません。 –

+0

@rGInfini Ok。年齢をフローティングとして処理することを意味します。上記の答えで述べたように、年齢計算ロジックを変更する必要があります: – thiruvenkadam

+0

私はそれを試してみます –

1

あなたが与えられた年齢がfloatであるか、出力がフロートであるべきかどうかは言及しなかったので、私はあなたのコードで十分で、浮動小数点を「取得」について

:-)両方ここに追加。浮動小数点数は四捨五入されます。 int(input(の代わりに数字を四捨五入したくない場合は、float(input(を使用してください。

年齢を浮動小数点として処理したい場合は、年齢計算ロジックを少し変更して、年齢をフロートとして処理することがよりわかりやすいようにすることができます。また、例外処理を追加しても問題はありません。

だけでなく、例外処理とコード:

try: 
    age = float(input("Age of the dog: ")) 
except: 
    print "Age given is not a valid number" 
    age = 0 

if age <= 0: 
    print ("This can not be true!") 
elif age == 1: 
    human_age = 14 
elif age == 2: 
    human_age = 22 
elif age > 2: 
    human_age = 22.0 + ((age - 2) * 5.0) 
print ("He/she is about %f human years" % (human_age)) 
+0

ありがとう、私はそれを試してみます –

関連する問題