我是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)
但是打印输出会一直显示实际公式,并且不会显示实际(预期)结果值。有没有人可以快速解释我在这里缺少的东西?
好的,代码几乎没有问题。 3x,2x应为3 * x,2 * x
然后尝试运行没有引号的代码,这些引号不会将其视为字符串。
您可以使用这样的简单数学公式:
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
的值。
最好
对于OP所面临的特定问题,这个解决方案几乎肯定是不必要的,但我包括它因为它提供了打印“字符串的值”而不是“文字字符串”的问题的一般解决方案,这可能是有用的。格式字符串。
x = input("Please enter a x value")
x = float(x)
print(f"y = {(3x**3)-(2x**2)+(3x)-1}")
在字符串前放置“f”意味着将评估字符串中“{}”之间的任何内容,并将结果强制转换为字符串,并打印在该位置。这很棒。
你声明了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)
编辑:我不知道你需要输入什么,所以我把它留在那里。