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

时间:2017-07-03 16:09:35

标签: python-3.x pycharm main

我最近开始使用Pycharm,我正在尝试执行我在课程中提供的一个在线课程提供的入门代码。代码是找到两个数字的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))

我只能输入两个数字,然后脚本根本不会执行,也不会抛出任何错误。我附上了我的问题的屏幕截图。enter image description here

我非常欣赏正确方向的推动

2 个答案:

答案 0 :(得分:2)

如果您使用sys.stdin.read()来获取用户输入,则必须使用 Ctrl + Z Ctrl + C (在Windows中)或 Ctrl + D 。但是由于某些原因它在PyCharm console / debug中不起作用。

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

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

答案 1 :(得分:1)

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

input = sys.stdin.read()

只做...

input = "4 5"