gpt4 book ai didi

使用 Input() 的 Python 代码在 Sublime REPL 中给出语法错误,但可以与 Python Shell 一起使用

转载 作者:行者123 更新时间:2023-12-01 02:06:58 25 4
gpt4 key购买 nike

我在 python 3 中输入了一段代码,python shell 运行得非常好并给出了正确的输出。我将此代码传输到 Sublime Text 3,下载了 sublime REPL 包,然后用它来运行我的代码。但是,当我运行它并使用 REPL 在 Sublime 中输入输入时,它告诉我存在语法错误。这是发现语法错误的行:

dataGiven = sorted([float(x) for x in input("Enter data separated by a space (At least 3 values of data must be entered) ").split()])

但是,没有语法错误,因为 python shell 正确运行了代码。请帮忙。我发现 Sublime text 确实很有帮助,但由于这个输入,它无法正常运行。如果您需要的话,我愿意发布更大的代码段。提前致谢。

编辑

错误截图:

Traceback (most recent call last):
File "Untitled.py", line 708, in <module>
dataGiven = sorted([float(x) for x in input("Enter data separated by a space (At least 3 values of data must be entered) ").split()])
File "<string>", line 1
78 67 45
^
SyntaxError: invalid syntax

***Repl Closed***

最佳答案

听起来 Sublime 正在使用 Python 2 解释器运行它。 input 尝试eval 在 Python 2 中输入的字符串,这大约是在运行时获取 SyntaxError 的唯一方法(因为大多数任意用户输入的字符串不是语法上合法的 Python 代码)。尝试将代码更改为:

import sys
print(sys.version_info)

它将告诉您它正在运行的实际版本。如果它是 Python 2,并且您需要它像在 Python 3 上一样在 Python 2 上运行,请切换到 raw_input 函数,或者屏蔽版本差异,请添加:

if sys.version_info < (3,):
input = raw_input

到文件顶部,在 Python 2 上将 input 替换为 raw_input,因此其行为就像在 Python 3 上一样。

关于使用 Input() 的 Python 代码在 Sublime REPL 中给出语法错误,但可以与 Python Shell 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48959078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com