if (blue_percentage > (red_percentage * 0.49)) and \
(red_percentage < ((blue_percentage / 1.44) + 1)) and \
(red_percentage > ((blue_percentage / 4.35)-1) and \
(blue_decimal > green_decimal) and \
(red_decimal > green_decimal):
print "<div>The hue is: <b>Purple</b>.</div>"
它说
:
语法无效。
如果我拿出这条线
(red_percentage > ((blue_percentage / 4.35)-1) and \
该程序运行正常。我是否会引起某种矛盾的陈述?我看不到它。
答案 0 :(得分:1)
您在该行中错过了右括号:
(red_percentage > ((blue_percentage / 4.35)-1) and \
应该是
(red_percentage > ((blue_percentage / 4.35)-1)) and \
# ^
答案 1 :(得分:1)
(red_percentage > ((blue_percentage / 4.35)-1) and
缺少结束)
如果一个人更熟悉代码/应用程序,可以更多地简化这个大表达式,但是现在,只是作为一种简单的方法来打破这个并使其更易于管理,你可以尝试下面显示的内容
请注意,我将整个表达式放在括号中消除需要PEP-8建议的那些令人讨厌的\
行继续标记。
注意:我不是说这是一个理想的解决方案,只是一种管理复杂性的方法,直到你能找到一种更好的方法来分解相关的表达方式。
cond1 = blue_percentage > (red_percentage * 0.49)
cond2 = red_percentage < ((blue_percentage / 1.44) + 1)
cond3 = red_percentage > ((blue_percentage / 4.35) - 1)
if (cond1 and cond2 and cond3 and
(blue_decimal > green_decimal) and
(red_decimal > green_decimal)):
# do stuff ...
你可以在if语句中使用你的大表达式周围的( )
,即使现在没有更改代码中的任何内容,也很容易摆脱\
字符 - 它们可能是另一个来源有时会出现问题。