【问题标题】:Python program stops after for-loop with input inside it is finishedPython程序在for循环完成后停止,里面有输入
【发布时间】:2020-04-15 04:50:31
【问题描述】:

我在文本编辑器中编写代码并通过双击代码执行它。代码相当简单:

n_inp = int(input("N: "))
num = []
for i in range(n_inp):
    num.append(int(input("Number: " )))
print(num)

但由于某种原因,程序在循环结束后刚刚停止。它从不打印数字,程序刚刚关闭。我尝试在 print(num) 之后使用 sleep 命令来查看它是否改变了任何东西,但它没有。代码有问题吗?还是我应该只使用一些 IDE 来执行它?提前致谢。

编辑:从命令提示符执行代码运行良好,我只是不会通过再次双击来运行代码。

【问题讨论】:

  • 双击会运行吗?你看到你期望的提示了吗?你能print其他与循环无关的东西吗?由于这可能是特定于操作系统的问题,您使用的是什么操作系统?您使用的是操作系统附带的 Python 版本,还是单独安装了它?你运行的是哪个版本的 Python?
  • 是的,它确实运行了程序,程序只是在循环完成后停止。操作系统是 windows 10,python 是 3,7,2。我认为我的 OS/Python 没有问题,因为我可以很好地执行任何其他 python 代码。仅当我尝试在循环中使用输入时才会出现此问题。

标签: python-3.x for-loop input


【解决方案1】:

但我在 python3 中尝试了相同的代码,它工作正常......

num 打印输出,如....

 N: 3
 Number: 12
 Number: 13
 Number: 14
 [12, 13, 14]

【讨论】:

    【解决方案2】:

    您无法看到输出,因为它会在打印输出后立即关闭终端。您可以在print(num) 语句之后添加sleep。试试下面的代码。

    import time
    n_inp = int(input("N: "))
    num = []
    for i in range(n_inp):
        num.append(int(input("Number: " )))
    print(num)
    time.sleep(10)
    

    或在print 语句之后再添加一个input(),这样它就会等到您按下任何其他按钮。

    n_inp = int(input("N: "))
    num = []
    for i in range(n_inp):
        num.append(int(input("Number: " )))
    print(num)
    input()
    

    【讨论】:

      猜你喜欢
      • 2016-12-28
      • 2017-01-05
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多