【问题标题】:input in if condition in python在python中输入if条件
【发布时间】:2013-06-14 04:49:05
【问题描述】:

在python中输入和检查可以在同一行完成吗?

例如)在 C 中我们有

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

如果给出整数输入,上述语句 if 块有效。但同样,

if a=input():

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

【问题讨论】:

  • 你错了scanf;它返回读取的元素个数,a 的值不进入其中。
  • a被成功读取和程序遇到EOF时,C代码将执行if的'then'子句。那不是很好的C。

标签: python if-statement input


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    你做不到。这是 Python 的一个深思熟虑的设计选择,因为这种结构很适合导致难以发现的错误。

    请参阅@Jonathan 对该问题的评论以获取示例

    【讨论】:

      猜你喜欢
      • 2022-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多