2017-08-20 22 views
-4

2つの操作を使用して最大限の出力を見つけるPythonスクリプトを作成します。問題は、そこにあるbの2行目から最後の行に構文エラーがあると言います。どうすれば修正できますか?内部変数の操作

x = 0 
a = int(input("1st number:")) 
c = int(input("2nd number:")) 
e = int(input("3rd number:")) 
for i in range(4): 
    if i == 0: 
     b = "+" 
    elif i == 1: 
     b = "-" 
    elif i == 2:  
     b = "/" 
    else: 
     b = "*" 
    for j in range(4): 
     if j == 0: 
      d = "+" 
     elif j == 1: 
      d = "-" 
     elif j == 2:  
      d = "/" 
     else: 
      d = "*" 
     k = a b c d e 
     print(k) 
+5

「k = a b c d e」はなぜ機能すると思いますか? –

+0

lamdaを使用できますか?またはあなた自身のコードを編集したいだけです。 –

+0

'operator'モジュールを見て、実際の関数を文字列だけでなく' b'と 'd'に割り当てる必要があります。' d(b(a、c)、e) ' 。 – AChampion

答えて

-2

k = a b c d eこれが許可されていないので、あなたのエラーを与えるだろう。

if b == "+" and d == "+": 
    k = a + c + e 
elif b == "+" and d == "-": 
    k = a + c - e 

+0

これで何も修正されません。第一に、Pythonはif文とforループのスコープを実行しないため、第二に 'a b c d e'は無効な構文であり、名前エラーの場合ではないからです。 –

-1

をあなたは後にしているすべての変数一行でEにある場合は、あなただけのカンマで区切ると印刷を呼び出すことができませんでした:あなたは好きでそれを行うだろうか?

Print a,b,c,d,e 
+0

そうでなければ、適切なpython型としてkを定義する必要があります。例えば、タプル: 'k =(a、b、c、d、e)' – neophlegm

+3

私はその考え方を1行ではなく、式を評価することであると考えます。オペレータ。 –

+0

ああ。私は誤解した – neophlegm

関連する問題