Python 在尝试为x求解时,获取“int”对象是不合适的

Python 在尝试为x求解时,获取“int”对象是不合适的,python,Python,我试图解决x=-57.8的问题。我是新的编码,所以我不知道我在这段代码中哪里出错了。我经常面对任何一个不可容忍的对象。我不知道为什么 import math realNumber = input("Enter a floating-point real number:") number =int(float(realNumber)) def f(x): for x in number: if x<5: print(&qu

我试图解决x=-57.8的问题。我是新的编码,所以我不知道我在这段代码中哪里出错了。我经常面对任何一个不可容忍的对象。我不知道为什么

import math
realNumber = input("Enter a floating-point real number:")
number =int(float(realNumber))

def f(x):
    for x in number:
        if x<5:
            print("The value of x is:",(x**2/(math.fabs(x)+2))**2)
        elif x==5:
            print("The value of x is:",equal=(x**2/math.fabs(x)+2))
        else:
            print("The value of x is:",math.sqrt(x**2/(math.fabs(x)+2)))
            return(x)
        print(f("-57.8"))
f("-57.8")
输入数学 realNumber=输入浮点实数: 这里将字符串{ex:2.5}转换为float{ex:2.5},然后转换为int{ex:2} 如果可能的话,可以直接将字符串转换为int number=intfloatrealNumber 数字=整数 def外汇: 对于x的数字: x是一个数字{ex:5},您不能在它上面循环,所以这一行不是必需的
如果x这里的核心问题是,函数的许多行没有理由出现在那里,并且与您试图做的事情直接交叉。如果你不想迭代,就不要使用for循环,当你应该在浮点上操作时不要转换为int,最重要的是,当你试图解决问题时不要输入随机的代码行;他们几乎不会帮助你,他们通常只是破坏你的计划

下面是一个版本的代码,我认为它完成了您试图做的事情。函数f计算值并使用return返回,而不是在函数内部打印它-这使它成为一个纯数学函数,你输入一个数字,你得到一个数字。然后可以在print语句的上下文中调用该函数来打印返回的值

import math

def f(x):
    if x < 5:
        return (x**2 / (math.fabs(x) + 2))**2
    elif x == 5:
        return x**2 / math.fabs(x) + 2
    else:
        return math.sqrt(x**2 / (math.fabs(x) + 2))

number = float(input("Enter a floating-point real number: "))
print("The value of f(x) is:", f(number))

好的,你在数字中为x做,其中数字是一个整数。。。您希望它做什么?对于rangenumber中的x?对于rangenumber中的x也会重写传递的参数的值,这使它变得无用…这段代码应该做什么?该代码应该检查一个数字是大于、等于还是小于5。我应该写一个程序,允许用户输入浮点实数。例如,如果他们输入x=-57.8,fx将是3212谢谢你,我将努力清理我的代码,我只学了2周,所以现在有点困难,但这是一项正在进行的工作!我想我添加了额外的信息,因为我真的不确定该怎么写!但这是最有用的!最重要的是,一步一步地思考你想做什么,然后找出每一步都要执行的代码行,一次一行。把大问题分解成许多更小、更容易的问题——这是编程的核心!如果你在某个特定的步骤上陷入了困境,那么你就有了一个小的具体问题,你可以寻找解决方案,而不是仅仅有一大堆你不知道如何解开的破译代码。如果您对这个大问题的理解不够透彻,无法将其分解为多个步骤,那么编写代码就没有意义了。画画等等!