2017-09-11 2 views
-1

私はもう一度簡単な計算をしています。if文とif文をPythonで浮動小数点に変換する方法は?

import sys 

a = float(sys.argv[1]) 
b = float(sys.argv[2]) 
c = float(sys.argv[3]) 
if a == str or b == str or c == str: 
    print 'Your input is invalid' 
else: 
    print 'Average: %.2f ' % ((a + b + c)/3) 

または

import sys 

a = float(sys.argv[1]) 
b = float(sys.argv[2]) 
c = float(sys.argv[3]) 
if a != float(sys.argv[1]) or b =! float(sys.argv[2]r or c =! float(sys.argv[3]) 
    print 'Your input is invalid' 
else: 
    print 'Average: %.2f ' % ((a + b + c)/3) 
+0

それは本質的に不正確であるため、どちらの浮動小数点比較のために悪いです。 https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html –

+0

タイトルは**整数ではないと宣言します**しかし、あなたはfloatを扱っています、なぜですか? – RomanPerekhrest

+0

@RomanPerekhrest Floatは整数ではないので、矛盾は見えません... –

答えて

-1
import sys 
try: 
    a,b,c = nums = [float(a) for a in sys.argv[1:]] 
    print 'Average: %.2f' % (sum(nums)/len(nums))) 
except: 
    print 'Your input is invalid' 
+0

ありがとう、しかし、私は変数としてa、b、cを入れる必要があります – greatestever

+0

そのように簡単にする必要があります。 –

関連する問題