可以读取输入但无法在 Pycharm 中执行脚本

Can read inputs but unable to execute script in Pycharm

我最近开始使用 Pycharm 并且我试图执行我的在线 类 之一从 coursera 提供的起始代码。代码是求两个数的gcd:

import sys

def gcd_naive(a, b):
current_gcd = 1
for d in range(2, min(a, b) + 1):
    if a % d == 0 and b % d == 0:
        if d > current_gcd:
            current_gcd = d

return current_gcd

if __name__ == "__main__":
input = sys.stdin.read()
a, b = map(int, input.split())
print(gcd_naive(a, b))

我只能输入这两个数字,之后脚本根本不会执行,也不会抛出任何错误。我已附上我的问题的屏幕截图。

我真的很感激在正确的方向推动

问题是从标准输入读取。似乎这在 PyCharm 中似乎并没有真正起作用。这可能是一个重复的问题 (Reading from a file with sys.stdin in Pycharm), (using stdin in pycharm)。除非这是某种成绩,否则我建议忽略 stdin 方面而不是做...

input = sys.stdin.read()

只是做...

input = "4 5"

如果您使用 sys.stdin.read() 获取用户输入,您必须使用 Ctrl+Z 结束输入或 Ctrl+C(在 Windows 中)或 Ctrl+ Linux 中的 D。但是由于某种原因,它在 PyCharm console/debug.

中不起作用

您可以使用读取用户输入的标准方式(使用 input() 函数),只需将您的主要函数更改为:

if __name__ == "__main__":
    a, b = map(int, input().split())
    print(gcd_naive(a, b))