【问题标题】:Python - Print output instead of formulaPython - 打印输出而不是公式
【发布时间】:2019-03-08 13:53:01
【问题描述】:

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

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

【问题讨论】:

  • 行 var="y" 的目的是什么?另外,是您要更改的打印语句吗?还是“输入”语句的控制台输出? (请发布您得到的确切输出,以及您期望/想要的确切输出)
  • y和x是什么关系,你是用x来计算y的吗?还是您只想为 x 输出 0,1、-1,为 y 输出 -1.0,3.0,-9.0?
  • 您会打印出公式,因为input("(3x**3)-(2x**2)+(3x)-1") 会打印您传递到控制台并从标准输入中读取的内容。尝试在公式出现时输入一些内容,然后它应该会打印出 y = 以及您输入的内容。
  • 这行y= (3*x**3)-(2*x**2)+(3*x)-1 不是解决方案吗?将公式键入为字符串对我来说似乎非常不自然。

标签: python formula calculation


【解决方案1】:

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

然后尝试运行不带引号的代码 它是一个字符串。

【讨论】:

  • 好点,我错过了丢失的*。也许您应该发布更正的代码,它可能对 Niels93 有所帮助
【解决方案2】:

你可以使用这样一个简单的数学公式:

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 中评估的值。

最好的

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

      【解决方案4】:

      您声明了 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)
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-23
        • 2022-01-07
        • 1970-01-01
        • 1970-01-01
        • 2021-12-11
        • 2014-07-22
        • 1970-01-01
        相关资源
        最近更新 更多