Python-打印输出而不是公式

时间:2019-03-08 13:53:02

标签: python formula calculation

我是Python的新手,到目前为止还没有任何编程语言的经验。我必须完成一个练习,但无法获得所需的输出。

我需要给x赋值0、1和-1。 并且y的预期结果应为-1.0、3.0和-9.0

我创建了以下代码:

x = 1
x = float(x)

var="y"
y=input("(3x**3)-(2x**2)+(3x)-1")

print("y =", y)

但是打印输出始终显示实际公式,而不显示实际(预期)结果值。有没有人可以快速解释我在这里缺少什么?

4 个答案:

答案 0 :(得分:1)

好的,代码很少有问题。 3x,2x应该是3 * x,2 * x

  

然后尝试在不带引号的情况下运行代码   作为字符串。

答案 1 :(得分:1)

您可以使用一个简单的数学公式,如下所示:

x = [0, 1, -1]

for i in x:
    print float(((3*i)**3)-((2*i)**2)+(3*i)-1)

我不知道它是否适合您的问题,因为尚不清楚,但是它返回由3x^3 - 3x^2 + 3x - 101评估的公式-1的值。

最佳

答案 2 :(得分:1)

对于OP面临的特定问题,几乎肯定不需要此解决方案,但我将其包含在内,因为它为打印“字符串的值”而不是“文字字符串”的问题提供了一个通用的解决方案,而这可能是有用的。格式化字符串。

x = input("Please enter a x value")
x = float(x)
print(f"y = {(3x**3)-(2x**2)+(3x)-1}")

在字符串前面加上“ f”表示将评估字符串“ {}”之间的任何内容,并将结果强制转换为字符串,并在该位置打印。很好。

答案 3 :(得分:-1)

您声明了2个变量。第一个是var,其值为'y',然后您声明了var y,它要求输入,当您实际输入内容时,它将打印出来。 应该这样做:

x = 1
x = float(x)

input = input('Enter a value here: ')
y = ((3*x)**3)-((2*x)**2)+(3*x)-1

print("y =", y)

编辑: 我不知道您需要输入什么,所以我就把它留在那里。