2017-07-03 225 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))