在python中输入if条件

Asw*_*esh 1 python if-statement input

可以在python的同一行输入和检查吗?

例如,在C中我们有

if (scanf("%d",&a))
Run Code Online (Sandbox Code Playgroud)

如果给出整数输入,则上述语句if block是否有效.但同样地,

if a=input():
Run Code Online (Sandbox Code Playgroud)

在python中不起作用.有办法吗?

小智 9

不,Python不能将赋值作为if语句条件的一部分.唯一的方法是两行:

a=input()
if a:
    // Your code here
    pass
Run Code Online (Sandbox Code Playgroud)

这是设计的,因为它意味着赋值保持为原子动作,与比较无关.这有助于提高代码的可读性,从而限制了可能引入的错误.


Joh*_*ooy 6

你不能这样做.这是Python的深思熟虑的设计选择,因为这种结构很适合导致很难找到错误.

请看@ Jonathan对这个问题的评论