gpt4 book ai didi

Python:脚本仅在导入终端时运行。苹果

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:09 26 4
gpt4 key购买 nike

出于某种原因,我的脚本拒绝直接从 Text Wrangler 运行,但在导入到终端时运行正常。

import math

def main():
print("This program find the real solutions to a quadratic\n")
a,b,c, = eval(input("Please enter the coefficients (a,b,c): "))
discRoot = math.sqrt(b * b -4 * a * c)
root1 = (-b + discRoot) / (2 * a)
root2 = (-b - discRoot) / (2 * a)
print("\nThe solutions are:" , root1, root2)


main()

当我在 textwrangler 中运行它时,我收到错误消息“TypeError: eval() arg 1 must be a string or code object”。使用 eval() 不是暗示以下输入是整数而不是字符串吗?为什么会这样?

最佳答案

在 Python 2 中,input() 等同于 Python 3 中的 eval(input())。我认为您在终端中使用 Python 3 运行它,但 TextWrangler 使用 Python 2 因此 TextWrangle 正在执行 eval(eval(input())) - 计算结果为 eval(5),这会导致您看到的错误。

要解决此问题,您需要更新 TextWrangler,或在终端中使用 Python 2。如果您想要第二个选项,您应该将 eval(input()) 替换为 input()

旁注 - 像这样使用 eval 是个坏主意(很危险)。您可能应该做类似 a, b, c = map(int, input().split(",")) 的事情(在 Python 3 中)。

关于Python:脚本仅在导入终端时运行。苹果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498186/

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