2013-07-28 3 views
0
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:, я получаю:Python Ошибка недопустимый синтаксис (2.7.5)

недопустимый синтаксис ошибки

Не знаю, что проблема в. Может ли кто-нибудь помочь мне помочь? Спасибо.

+0

он работает! Спасибо большое! – James

ответ

0

else должно быть равно elif.

Это потому, что в Python else действует как своего рода «catch-all» —, он не требует никаких дополнительных требований и фактически не позволяет их. Если вы хотите указать условия для предложения else, тогда вы должны использовать elif.

+0

У Python нет 'else if'. – falsetru

+0

@falsetru Ха-ха, я знаю, опечатка. Исправлена. Почему нисходящий? – tehsockz

2

else не может иметь предикат.

Использовать elif вместо else.

elif clothes_total1 > 200: 
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]) 
0

прочее не принимает никаких условий, но e жизнь делает. Если вы используете else, это означает, что если ВСЕ не удается, сделайте это.

Смежные вопросы