2017-12-14 7 views
0

任意のポインタは、「時間」には、以下の複雑な引数を修正する場合は、「結果1」、私は合理if文の条件:他に== bの「結果2」や

SyntaxError: invalid syntax

を私は望んでいたすべてがされて取得していますできるだけ多くのコードを減らす必要があります。 最後に、iの値に対応する値を与えることを望みます。

私のコードは

(('($200 Hr) estimated at' if i ==1) or ('($130 Hr) estimated at' if i == 2) or ('($120 Hr) estimated at' if i == 3) or ('($125 Hr) estimated at' if i == 4) or ('($90 Hr) estimated at' if i == 5)) 

コードで失敗:

brs_items_list.append({      
'desc' : kwargs["brs_d_{}".format(i)], 
'hours' : kwargs["brs_hrs_{}".format(i)]+(' hour' if float(kwargs["brs_hrs_{}".format(i)])<2 else ' hours')+ (('($200 Hr) estimated at' if i ==1) or ('($130 Hr) estimated at' if i == 2) or ('($120 Hr) estimated at' if i == 3) or ('($125 Hr) estimated at' if i == 4) or ('($90 Hr) estimated at' if i == 5)) ,  
'cost' : "${:,}".format(round(float(kwargs["brs_c_{}".format(i)]), 2)) 
}) 
+0

や '( '($ 120時間)と見積もら' 私== 3であれば)'何を他のについては?,試してみてください '($ 120 Hr)'と評価された場合 ' –

+0

...なぜあなたはその行を関数に分解しないのですか? – user3080953

+0

私はこれを既に試してみました。何かを吐く – Ossama

答えて

0

私は辞書を使用しないのはなぜ私は

brs_items_list.append({ 

'desc' : kwargs["brs_d_{}".format(i)], 

'hours' : kwargs["brs_hrs_{}".format(i)]+(' hour' if float(kwargs["brs_hrs_{}".format(i)])<2 else ' hours')+ (('($200 Hr) estimated at' if int(i) ==1 else '') or ('($130 Hr) estimated at' if int(i) == 2 else '') or ('($120 Hr) estimated at' if int(i)== 3 else '') or ('($125 Hr) estimated at' if int(i) == 4 else '') or ('($90 Hr) estimated at' if int(i) == 5 else '')) ,  

'cost' : "${:,}".format(round(float(kwargs["brs_c_{}".format(i)]), 2)) 

}) 
2

を必要とすることを考え出しましたか?

さらに良い
{1:'($200 Hr) estimated at', 2:'($130 Hr) estimated at', 3:'($120 Hr) estimated at', 4:'($125 Hr) estimated at', 5:'($90 Hr) estimated at'}[i] 

あなたはこの行うことができますので、あなたは、繰り返し大量のテキストを持っている:

'($%d Hr) estimated at' % {1:200, 2:130, 3:120, 4:125, 5:90}[i] 
+0

すばらしい仲間、私はint(i) – Ossama