Python无效语法错误(2.7.5)

时间:2013-07-28 05:16:50

标签: python syntax

clothes_total = tot1 + tot2 + tot3 + tot4+ tot5  
clothes_total1 = tot1 + tot2 + tot3+ tot4 + tot5
tot_price = tax * (clothes_total + shipping + gift_number)
tot_price1 = tax * (clothes_total1 * 0.85 + shipping + gift_number)
tot_price2 = tax * (clothes_total2 * 0.85 + shipping + gift_number - 30)
print "<h4>Original Price: $ %s </h4>" % clothes_total
if clothes_total < 150:
   print "<h4> TOTAL : %s </h4>" % tot_price
else clothes_total1 > 200:
  print "15% Discount + $30 off: $"
  print 0.85 * (clothes_total - 30)
  print "<h4> THIRTY: $ %s </h4>" % tot_price2

这是我的代码行,但在else clothes_total1 > 200:下,我一直得到:

  

语法错误无效

不知道问题是什么。有人可以帮助我吗?谢谢。

4 个答案:

答案 0 :(得分:3)

应该是elif而不是else

elif clothes_total1 > 200:

来自docs

if_stmt ::=  "if" expression ":" suite
             ( "elif" expression ":" suite )*
             ["else" ":" suite]

而不是使用tot1 + tot2 + tot3 + tot4+ tot5,我认为你应该使用一个列表。

示例:

tot = [12,56,....] #some values

然后使用sum

clothes_total = sum(tot)

如果列表中有超过5个项目,并且您只想要前5个项目的总和,那么请使用切片:

clothes_total = sum(tot[:5])

答案 1 :(得分:1)

else不能有谓词。

使用elif代替else

elif clothes_total1 > 200:

答案 2 :(得分:0)

else应该等于elif

这是因为在Python中,else充当一种“全能” - 它不需要任何额外的要求,实际上不允许它们。如果您要为else子句指定条件,则必须使用elif

答案 3 :(得分:0)

否则没有条件,但是elif确实如此。 如果你使用else,那意味着,如果一切都失败了,那就去做吧。