Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这个变量会自动四舍五入?_Python_Rounding - Fatal编程技术网

Python 为什么这个变量会自动四舍五入?

Python 为什么这个变量会自动四舍五入?,python,rounding,Python,Rounding,我不熟悉堆栈溢出,但现在已经使用python大约两个月了。我比较有经验,但不知道为什么在打印变量“why”时会自动循环。我正在创建一个脚本,从图形上的两点查找坡度截距形式。感谢您的帮助。 -诺亚 编辑更改的变量名int(n)将返回一个整数。如果n是一个浮点,它将被截断 两个整数之间的差(令人惊讶地…)是一个整数,因此是的,最终结果是一个截断的整数 考虑使用float(n)而不是int(n)。整数之间的差总是“四舍五入”…您的变量真的命名为“为什么?”?-但无论如何:正如让·弗朗索瓦所提到的,根据

我不熟悉堆栈溢出,但现在已经使用python大约两个月了。我比较有经验,但不知道为什么在打印变量“why”时会自动循环。我正在创建一个脚本,从图形上的两点查找坡度截距形式。感谢您的帮助。 -诺亚

编辑更改的变量名

int(n)将返回一个整数。如果n是一个浮点,它将被截断

两个整数之间的差(令人惊讶地…)是一个整数,因此是的,最终结果是一个截断的整数


考虑使用float(n)而不是int(n)。

整数之间的差总是“四舍五入”…您的变量真的命名为“为什么?”?-但无论如何:正如让·弗朗索瓦所提到的,根据定义,整数没有小数部分……整数是四舍五入的吗?或者你想把它转换成浮点数?你用的是什么版本的Python?整数除法在Python 2中循环,在Python 3中转换为浮点。将所有出现的
int
替换为
float
,您应该可以开始了。它们将字符串转换为
int
,而不是任意数。因此,如果
n
是一个(字符串表示的)浮点,它将抛出一个错误。谢谢,我不知道为什么我如此愚蠢,将int的最后一个实例更改为float使脚本工作可能是真的,但它仍然很难看,因为您的脚本充满了免费的强制转换。在
input()
函数之后应用一个有意义的强制转换,因为您想在这里更改类型:string不适合计算,所以请根据需要选择一种类型。从那时起,你可以离开铸造。
#Y=mx+b
x1, y1 = input("X1,Y1: ").split(",")
x2, y2 = input("X2,Y2: ").split(",")
print("\n")

Xdif = (int(x1) - int(x2))
Ydif = (int(y1) - int(y2))

Yslope = (int(Ydif) * int(x1))

if(Xdif == 0):
  print("Slope is Undefined")
else:
  Slope = (int(Yslope) / int(Xdif))
  if(int((Slope*10) % 10) == 0):
    SlopeN, bad = str(Slope).split(".")
    print("Slope:",SlopeN)
  else:
    print("Slope:",Slope)
    Why = (int(y1) - int(Slope))
    print(Why)