为了账号安全,请及时绑定邮箱和手机立即绑定

如何编写内联if语句以进行打印?

如何编写内联if语句以进行打印?

萧十郎 2019-12-09 15:28:42
我仅在将布尔变量设置为时才需要打印一些内容True。因此,看完这个之后,我尝试了一个简单的示例:>>> a = 100>>> b = True>>> print a if b  File "<stdin>", line 1    print a if b             ^SyntaxError: invalid syntax  如果我写的话也是一样print a if b==True。我在这里想念什么?
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

Python不不会有拖尾if 声明。


ifPython 有两种:


if 声明:


if condition: statement

if condition:

    block

if 表达式(在Python 2.5中引入)


expression_if_true if condition else expression_if_false

请注意,两者print a和b = a都是陈述。只有a一部分是表达。所以如果你写


print a if b else 0

它的意思是


print (a if b else 0)

当你写的时候


x = a if b else 0

它的意思是


x = (a if b else 0)

现在,如果没有else子句,它将打印/分配什么?打印/分配仍然在那里。


请注意,如果您不希望它存在,您总是可以if在一行中编写常规语句,尽管它的可读性较差,并且实际上没有理由避免使用两行变体。


查看完整回答
反对 回复 2019-12-09
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

内联if-else EXPRESSION必须始终包含else子句,例如:


a = 1 if b else 0

如果您想使'a'变量值保持不变-修改旧的'a'值(语法要求仍要求其他):


a = 1 if b else a

这段代码留下一个不变当b转弯是假的。


查看完整回答
反对 回复 2019-12-09
  • 3 回答
  • 0 关注
  • 415 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信