2016-11-16 17 views
1

タイトルが指定するかもしれないので、私は整数であればどのように変数をテストできますか?私は他のトピックを見てきましたが、彼らは動作するコードや使用方法を知っているようには見えません。変数が整数の場合はどのようにテストできますか?

print("Enter the weight of the bag in grams.") 

weight = float(input()) # float was used as it might be a decimal sometimes 

amtcoin = weight/3.56 

amtcoinが整数であるかどうかをテストするにはどうすればよいですか?変数が示唆するように、それはコインの量であり、コインの一部を持つことはできません。おかげさまで

+1

この場合、isinstance(amtcoin、int)は十分ですが、あなたが何をしているのか、それを知る方法はわかりません。 –

+2

isinstance(amtcoin、int)は常に偽です。 'weight/3.56'は浮動小数点値で除算が行われるたびに常にfloatを返すためです。 – falloutcoder

+0

私は物事を明らかにする。このコードは、袋に入っているコインの数をテストするように設計されています。体重はバッグの重量です。したがって、重量が35.6であり、テストされたコインの重量が3.56であれば、コインが10個あることを意味し、AMTCOINは整数になります。それが私がテストしたいものです。私はAMTCOINが整数であることを保証したいと思います。それは整数でなければなりません。 – MrKat

答えて

1

amtcoin変数は、あなたがそれを宣言したクラスのインスタンスです。 floatとしてそれを宣言し、あなたはそれが小数かどうかを知りたいかamtcoin % 1 == 0

+0

ありがとうございます、これは美しく機能しました。 – MrKat

8

あなたが行ったように浮かぶように変換し、is_integer方法で確認することができます。

float(weight).is_integer() 
+0

したがって、値が整数の場合は、下のコードを実行するか、浮動小数点の場合はコードを実行しますか? – MrKat

+0

はい、次のようになります: float(weight).is_integer(): 整数の場合# else: if float – user2693928

0

をチェックしない場合は、このような何か試してみてください:それはintであれば、この条件が満たされる

if int(amtcoin) == amtcoin: 
    do_something() 

を。

関連する問題