当前位置: 首页 > 面试题库 >

为什么这个简单的条件表达式不起作用?

阎宝
2023-03-14
问题内容

很简单的一行:

i = 3
a = 2 if i in [1, 3, 6] else a = 7

失败与:

SyntaxError: can't assign to conditional expression

而扩展为:

if i in [1, 3, 6]:
    a = 2
else:
    a = 7

工作良好。


问题答案:

您使用错误。使用这种方式:

a = 2 if i in [1, 3, 6] else 7

通用形式为:

var = val1 if cond else val2


 类似资料:
  • 问题内容: 试图了解正则表达式,我在重复的部分:。 我有以下代码: 如您所见,两个字符串都不匹配该模式。为什么会这样呢? 问题答案: 您不应该在逗号后加空格,这是多余的。

  • 问题内容: 我正在做一个小的javascript方法,该方法会接收到一个点列表,并且我必须阅读这些点才能在Google地图中创建多边形。 我在表格上收到这些要点: (lat,long),(lat,long),(lat,long) 因此,我完成了以下正则表达式: 我已经使用RegexPal和收到的确切数据进行了测试: 并且它可以正常工作,所以为什么当我在JavaScript中添加此代码后,结果中会收

  • 问题内容: 我们在其他语言中认为是理所当然的,并且几乎期望它可以继续工作,但不会起作用-这样做是如此自然,所以为什么编译器不满意?只是有时候感觉就像不耐烦。 递增值的唯一方法是将其放在单独的行中? http://play.golang.org/p/_UnpZVSN9n 问题答案: 而在golang声明,不表达

  • 当我跑的时候 我在Java中得到错误。为什么?这相当于false==false,这是真的。这不是Java特有的,我在其他语言中也得到了相同的结果。这是因为短路评估吗?似乎左右双方仍会/应该进行比较。

  • 问题内容: 嗨,我只是想创建一个简单的golang应用程序,它使用以下命令在identi.ca上发布新的凹痕 到目前为止,这是我的代码,恕我直言,这应该起作用,但实际上它不起作用,有人知道如何解决此问题吗? 编辑: 不:我没有收到任何错误消息:/ 问题答案: 不会将整个命令行作为单个参数。您需要将其称为: 您怎么知道是否遇到错误?您无需检查的返回值。 您实际上应该将命令创建与运行分开。这样,您可以

  • 问题内容: 在下面的代码段中,匹配结果中的 非捕获组应被忽略, 结果应该是。 但是,我得到了匹配结果。仅当我指定group(2)时才显示。 问题答案: 并返回整个比赛。随后的组是实际的捕获组。 如果您想要相同的行为: