可以读取输入,但无法在Pycharm中执行脚本
问题描述:
我最近开始使用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))
我只能输入两个数字,脚本不会在所有之后执行的,并且不抛出任何任何错误。我附上了我的问题的截图。
我会很感激在正确的方向
答
如果您使用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))
答
的问题是从标准输入读一推。似乎这似乎并没有在PyCharm中真正起作用。这可能是一个重复问题(Reading from a file with sys.stdin in Pycharm),(using stdin in pycharm)。除非这是某种对于一个档次,我建议忽略了标准输入方面和而不是做...
input = sys.stdin.read()
只是做...
input = "4 5"
[在Pycharm从文件读取与sys.stdin]的可能的复制( https://*.com/questions/21630403/reading-from-a-file-with-sys-stdin-in-pycharm) –