2016-08-02 5 views
0

は、私は以下のゼッド・ショーの助言を使用してコードを記述してみました:パイソンザ・ハード・ウェイを学び、EX21のQ3

あなたは、「式を書き出す」とはどういう意味ですか? 24 + 34/100 - 1023を最初にお試しください。それを変換して関数を使用します。手で1023年、私は-998.6の合計を取得する -

def add(a, b): 
    print "Adding %s + %s" % (a, b) 
    return a + b 

def divide(a, b): 
    print "Dividing %r/%r" % (a, b) 
    return a/b 

def subtract(a, b): 
    print "Subtracting %s - %s" % (a, b) 
    return a - b 

cats = (24) 
dogs = subtract(100, 1023) 
monsters = divide(34.0, 100) 

print "cats: %r, dogs: %r, monsters: %r" % (cats, dogs, monsters) 

Result = subtract(dogs, add(cats, divide(monsters,1))) 

print "That becomes:", Result, "Can you do it by hand?" 

問題は、私は24 + 100分の34を計算するときということです:

は、ここに私のコードです。しかし、私の上記のコードは私に - 947.34を与えます。私は間違いがどこにあるのだろうと思っています。この24 + 34/100 - 1023の正しいコードはどのように見えますか?

または私は同じコードを少し変更し、まだ別の結果を持っています:-981,34:あなたの助けとアドバイスの作品のための

def add(a, b): 
    print "Adding %s + %s" % (a, b) 
    return a + b 

def divide(a, b): 
    print "Dividing %r/%r" % (a, b) 
    return a/b 

def subtract(a, b): 
    print "Subtracting %s - %s" % (a, b) 
    return a - b 

cats = add(24, 34) 
dogs = subtract(100, 1023) 
monsters = divide(34.0, 100) 

print "cats: %r, dogs: %r, monsters: %r" % (cats, dogs, monsters) 

Result = subtract(dogs, add(cats, divide(monsters,100))) 

print "That becomes:", Result, "Can you do it by hand?" 

感謝。

答えて

0

私は同僚の助けを借りて、上記の問題に対する解決策を見つけました。たとえば、x、y、z、wのような値を作成しなければならなかった。

def add(a, b): 
    print "Adding %s + %s" % (a, b) 
    return a + b 

def divide(a, b): 
    print "Dividing %r/%r" % (a, b) 
    return a/b 

def subtract(a, b): 
    print "Subtracting %s - %s" % (a, b) 
    return a - b 

x = 34.0 
y = 100 
z = 24 
w = 1023 
monsters = divide(x, y) 
cats = add(z, monsters) 
dogs = subtract(cats, w) 

print "cats: %r, dogs: %r, monsters: %r" % (cats, dogs, monsters) 

#Result = add(cats, divide(monsters, subtract(dogs, 1023))) 
#Result = add(cats, subtract(dogs, divide(monsters, 100))) 
Result = dogs 
#Result = divide(monsters, add(cats, subtract(dogs, 1023))) 

print "That becomes:", Result, "Can you do it by hand?" 

#24 + 34/100 - 1023 

#float(raw_input()) 

しかし、このコードはEX21のロジックに従いません。誰かがより良い解決策を持っているなら、ここでそれを共有してください。

0

これは別の解決策ですが、その数はもともと-998.66でなければなりません。代わりに、以下のコードは998.66になります。だから間違いなく私から何か隠れているものがまだあります:)

def add(a, b): 
    print "Adding %s + %s" % (a, b) 
    return a + b 

def divide(a, b): 
    print "Dividing %r/%r" % (a, b) 
    return a/b 

def subtract(a, b): 
    print "Subtracting %s - %s" % (a, b) 
    return a - b 

monsters = (34.0) 
cats = (24) 
dogs = (1023) 

print "cats: %r, dogs: %r, monsters: %r" % (cats, dogs, monsters) 

#Result = add(cats, divide(monsters, subtract(dogs, 1023))) 
#Result = add(cats, subtract(dogs, divide(monsters, 100))) 
#Result = dogs 
#Result = divide(monsters, 100), add(cats, subtract(dogs)))) 
Result = subtract(dogs, add(cats, divide(monsters, 100))) 
#Result = add(cats, divide(monsters, 100), subtract(dogs))) 
#Result = subtract(dogs, divide(monsters, 100), add(cats))) 

print "That becomes:", Result, "Can you do it by hand?" 

#24 + 34/100 - 1023 

#float(raw_input()) 
関連する問題