2017-07-03 143 views
1

我最近开始使用Pycharm,并试图执行由coursera的一个在线课程提供的入门代码。该代码是找到gcd上述两个数字:可以读取输入,但无法在Pycharm中执行脚本

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

我会很感激在正确的方向

+0

[在Pycharm从文件读取与sys.stdin]的可能的复制( https://stackoverflow.com/questions/21630403/reading-from-a-file-with-sys-stdin-in-pycharm) –

回答

2

如果您使用sys.stdin.read()获得用户输入,你有按Ctrl +ž按Ctrl +ç(在Windows)或结束您输入按Ctrl +D在Linux中。但是由于某些原因,它在PyCharm控制台/调试中不起作用。

可以使用(使用input()功能)的读取用户输入的标准方式,只是改变你的主要功能是:

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