我正在使用PyCharm 5.04和Python 3.4作为解释器。 我不能在我的代码中使用input()函数并只是运行它(Shift + F10),因为PyCharm没有给我机会输入我的输入。这是代码:
x=''
while x!='stop':
x=input('enter x')
print(x)
print(x)
如果我运行它,我会看到:
enter x
enter x
enter x
.....
但是,如果我突出显示代码,单击鼠标右键并在上下文菜单中选择“在控制台中执行选择”,一切都会正常工作。此外,我可以在我的鳕鱼的开头添加一个字符串'来自sys import argv',通过输入'python name_of_script.py'在终端执行它,一切都会正常工作(以防万一,我有ubuntu 15.10)。
我的PyCharm设置有问题吗?我应该怎么做才能通过简单的运行来执行代码(使用Shift + F10,因为我习惯了)? 如果它没有input(),我对任何其他代码都没有问题。
任何帮助都将不胜感激。
答案 0 :(得分:3)
我发布这个答案是为了解决我遇到的这个问题的细微变化,其中Python控制台不允许我输入我的输入,但与你的情况不同,不会继续循环。
我通过点击工具栏(运行/调试配置)上的“编辑配置”解决了问题,并在输出中禁用“Emulate terminal”选项控制台“即可。
希望那些有同样问题的人会偶然发现这个问题(正如我所做的那样)。
编辑:在图片中:
我没有尝试过使用远程解释器的解决方案。
答案 1 :(得分:2)
您的代码似乎很好。我怀疑你所看到的是由运行/调试配置问题引起的,这可能是各种意外行为的根源。
我建议你这样做以确定错误:
使用CTRL-Shift-F10运行代码以确保您正在运行当前文件,而不是项目中的其他文件。如果这样可以解决问题,您只需在屏幕右上角的下拉菜单中选择要运行Shift-F10的文件即可,只需选择"播放"按钮
将代码复制到一个全新的项目,然后从那里运行。如果这可以解决问题,那就意味着您的代码很好,而且问题很可能是运行/调试配置问题。
如果您确认上述步骤中的代码正常但无法从头开始,则可以通过选择"编辑"来编辑运行/调试配置。在屏幕右上角的下拉菜单中,靠近"播放"按钮。
答案 2 :(得分:1)
我的情况不是通常的,也不是专门针对PyCharm的,但是如果有人遇到与我相同的问题:
对我来说,问题是由于在while循环中,当input()提示时,我粘贴了包含一些空行的多行输入引起的。
解决方案是使我对input()的使用适应多行,如下所述:How to get multiline input from user
答案 3 :(得分:0)
input_string = ""
stop_code = 'stop'
try:
while input_string != stop_code:
input_string = input('Enter a value: \n')
print input_string
except Exception as e:
print e
希望这是你所需要的,这对我很有用......