Python - 打印输出而不是公式

问题描述 投票:2回答:4

我是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)

但是打印输出会一直显示实际公式,并且不会显示实际(预期)结果值。有没有人可以快速解释我在这里缺少的东西?

python formula calculation
4个回答
1
投票

好的,代码几乎没有问题。 3x,2x应为3 * x,2 * x

然后尝试运行没有引号的代码,这些引号不会将其视为字符串。


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的值。

最好


1
投票

对于OP所面临的特定问题,这个解决方案几乎肯定是不必要的,但我包括它因为它提供了打印“字符串的值”而不是“文字字符串”的问题的一般解决方案,这可能是有用的。格式字符串。

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

在字符串前放置“f”意味着将评估字符串中“{}”之间的任何内容,并将结果强制转换为字符串,并打印在该位置。这很棒。


-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)

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

© www.soinside.com 2019 - 2024. All rights reserved.