1

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

例如)在 C 中我们有

if (scanf("%d",&a))

如果给出整数输入,上述语句 if 块将起作用。但同样,

if a=input():

在 python 中不起作用。有没有办法做到这一点?

4

2 回答 2

9

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

a=input()
if a:
    // Your code here
    pass

这是设计使然,因为这意味着分配是作为原子操作维护的,与比较无关。这有助于提高代码的可读性,进而限制潜在的错误引入。

于 2013-06-18T05:15:58.693 回答
6

你不能这样做。这是 Python 的一个深思熟虑的设计选择,因为这种结构有利于导致难以发现的错误。

有关示例,请参阅@Jonathan 对该问题的评论

于 2013-06-18T05:16:05.190 回答