我们可以像这样使用if-field:
statement if condition else statement
但是这里有一些问题,我不明白为什么。
>
如果我运行count=1 if True否则l = []
(count已定义),则会引发错误:
File "<ipython-input-5-d65dfb3e9f1c>", line 1
count += 1 if True else l = []
^
SyntaxError: invalid syntax
我们能不能先分配一个值?
当我运行count=1 if False else l.append(count 1)(注意:count=0,l=[])时,将引发一个错误:
TypeError Traceback (most recent call last)
<ipython-input-38-84cb28b02a03> in <module>()
----> 1 count += 1 if False else l.append(count+1)
TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'
l的结果是。
使用相同的条件,如果使用if-else块,则不会出现错误。
你能解释一下区别吗?
python中的单行if-ett
语句更像是其他语言中的三元运算符。它不仅仅是if-ett
块的更紧凑版本。单行if-ett
计算为一个值,而if-ett
块指定了应采取不同操作的条件。单行if-ett
语句就像一个函数,在某些条件下返回一个值,如果条件为False
则返回另一个值。
因此,在您的示例中,当您编写count=1 if True否则l = []
时,我认为您的意思是:
if True:
count += 1
else:
l = []
但这条线真正的作用是:
if True:
count += 1
else:
count += l = []
因此出现了语法错误。
对于您的第一个错误,您试图滥用三元表达式。在Python中,三元表达式不能包含它们包含表达式的语句。
从Python的官方语法中可以看出,赋值是语句,方法调用是表达式。
在您的示例中,l=[]
被视为一个语句,而l.append(…)
是一个表达式。
对于第二个错误,
list.append
返回无
,而不是列表。因此,您实际上是在尝试将无
添加到任何一个整数中,这是不允许的,因此TypeError
。
最后,请不要使用小写L(
L)或大写o(
o)作为变量名。正如PEP 8中所述,由于它们与1和0的相似性,这些变量名可能会非常令人困惑。
“条件表达式”A if C else B不是if/else语句的单行版本,if C:A;其他:B,但完全不同。第一个将计算表达式A或B,然后返回结果,而后者只执行语句A或B。
更清楚的是,如果为True else,则计数=1 l=[]不是(计数=1)如果为True else(l=[])
,而是计数=(如果为True else,则计数=1 l=[])
,但l=[]
不是表达式,因此出现语法错误。
同样地,count=1 if Falsel.append(count 1)
不是(count=1)if Falsel.append(count 1))
而是count=(1 if Falsel.append(count 1))
。从语法上讲,这是可以的,但是append
返回无
,它不能添加到count
中,因此是TypeError。
我对if else语句有些问题,请支持
Swift 条件语句 一个 if 语句 后可跟一个可选的 else if...else 语句,else if...else 语句 在测试多个条件语句时是非常有用的。 当你使用 if , else if , else 语句时需要注意以下几点: if 语句后可以有 0 个或 1 个 else,但是如果 有 else if 语句,else 语句需要在 else if 语句之后。 if 语句后可以有 0
else语句可以与if语句结合使用。 else语句包含else语句中的条件表达式解析为0或FALSE值时执行的代码块。 else语句是一个可选语句, else后面最多只能有一个else语句。 语法 (Syntax) if...else语句的语法是 - if expression: statement(s) else: statement(s) 流程图 (Flow Diagram) 例
我得到了3个不同的错误:标识符预期,意外的令牌,未知的类:'score'。这些错误在第57-69行。 这个代码的重点是检查一个检查列表是否被检查,如果是,加1得分。它根据得分将输出文本更改为不同的字符串。 ^^XML代码^^
着色器语言GLSL中关于if语句、for语句的使用,和javascript语言、C语言中的if语句、for语句执行逻辑规则基本一致,这里默认你已经有一定的编程基础,也就不做过多讲解,只是简单说明一下。 单独使用if if(x>100){ gl_FragColor = vec4(1.0,0.0,0.0,1.0);//红色 } if-else形式 bool colorBool; // 根据布尔值
主要内容:if 语句,实例,if...else 语句,实例,if...else if...else 语句,实例,if...else 嵌套语句,实例Scala IF...ELSE 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: if 语句 if 语句有布尔表达式及之后的语句块组成。 语法 if 语句的语法格式如下: 如果布尔表达式为 true 则执行大括号内的语句块,否则跳过大括号内的语句块,执行大括号之后的语句块。 实