[英]why does this elif statement give me an error?
我不明白为什么我的elif
语句出现错误。
我正在将 Eclipse 插件pydev
与最新版本的 python 一起使用。
例如,
if sum(player_cards) = 14 and sum(computer_cards) = 10
这应该输出为True
elif sum(player_cards) > sum(computer_cards) and < 21 :
相反,它给了我这个:
“在第 42 行第 54 列遇到“<”。正在等待以下之一:“(” ...“{” ...“[” ...“.” ...“+” ...“-” ... "~" ... "not" ... "async" ... "await" ... "False" ... "True" ... "None" ... ... .. . ... ... ... ... ... "\\'" ... "\\"" ... "\\'\\'\\'" ... "\\"\\"\\"" 。 .. "\\'" ... "\\"" ... "\\'\\'\\'" ... "\\"\\"\\"" ... "\\'" ... "\\"" 。 .. "\\'\\'\\'" ... "\\"\\"\\"" ... "\\'" ... "\\"" ... "\\'\\'\\'" ... " \\"\\"\\"" ...
你的意思是?
elif sum(player_cards) > sum(computer_cards) and sum(player_cards) < 21:
and
是一个布尔运算符。 每边需要两个操作数。 但是< 21
不是表达式。
在 Python 中,您可以更简洁地将其编写为:
elif 21 > sum(player_cards) > sum(computer_cards):
用这个:
elif (sum(player_cards) > sum(computer_cards)) and (sum(player_cards)< 21):
您应该从代码中删除and
:
elif sum(player_cards) > sum(computer_cards) and < 21:
它应该是这样的:
elif sum(player_cards) > sum(computer_cards) < 21
错误是无效语法,请参阅 20 > 10 和 < 21,您将 21 与什么进行比较? 你也必须指定。
elif sum(player_cards) > sum(computer_cards) and < 21 应该是
elif sum(player_cards) > sum(computer_cards) and sum(computer_cards) < 21
或者
elif sum(player_cards) > sum(computer_cards) and sum(player_cards) < 21
取决于您的要求
好吧,如果我能清楚地了解您要做什么,我将能够帮助编写代码。 但是,这里的语法似乎不对:
sum(player_cards) > sum(computer_cards) and < 21
相反,我会这样做:
if (condition):
<statements here>
elif ((sum(player_cards) > sum(computer_cards)) and (sum(player_cards)< 21)):
<statements here>
else:
return
注意括号的使用。 变量需要在and运算符的任一侧进行测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.