我是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)
但是打印输出始终显示实际公式,而不显示实际(预期)结果值。有没有人可以快速解释我在这里缺少什么?
答案 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 - 1
,0
和1
评估的公式-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)
编辑: 我不知道您需要输入什么,所以我就把它留在那里。