python中的if else

普通形式:

if ( condition):
	表达式 1
else:
	表达式2

举例:

在这里插入代码片

紧凑形式:适用于简单二分支的表达

<表达式1> if <条件> else <表达式2>

举例:


guess = eval(input())
print("猜{}了".format("对" if guess == 45 else "错"))

或者是

guess = eval(input())
print("猜对了" if guess == 45 else "猜错了")

要注意的一点是,if esle的紧凑语句中,对应的是表达式而不是语句。简单理解,语句是由带等号的赋值语句,而表达式是其中的一部分。

举例:

guess = eval(input())
a = guess if guess > 40 else a = 100-guess

这段代码的输出会报错:

  File "<ipython-input-7-ddfcb488d1d3>", line 2
    a = guess if guess > 40 else a = 100-guess
       ^
SyntaxError: can't assign to conditional expression

因为在这里,我们让if else对应的是语句,而不是表达式。(可以看到else后面接的是a = 100 - gusess,很明显,这是一个赋值语句)

如果我们对代码进行修改:

guess = eval(input())
a = guess if guess > 40 else 100-guess
print(a)

则可顺利输出。在以上代码中,if else的紧凑语句实际上是:

guess if guess > 40 else 100-guess
发布了22 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/helloworld987456/article/details/104258673