python中int(-8.4)/(-4)为什么不等于2?

www.zhiqu.org     时间: 2024-06-01
在Python中,整数除法会向下取整。当计算 int(-8.4) / (-4) 时,会先对 -8.4 进行取整操作,即得到 -9,然后进行整数除法 -9 / (-4),结果为 2 而不是 2.25。
这是因为在整数除法中,Python会将结果向下取整到最接近的小于或等于原始结果的整数。如果你想要得到精确的浮点数结果,可以使用浮点数除法,输出结果为 -2.1,这是通过浮点数除法得到的准确值。

原因是这个除号引起的,Python解析执行时遇到 / 运算符,会进行 float 数据类型的转换计算

int(-8.4)/(-4)时,Python解析器将其解析为-8/-4,在Python中做除法,返回值一定是小数,这和C++不同,请注意。如果需要求整数解,可以使用//,这个符号表示整除;或者使用divmod函数,这个函数返回参数一除以参数二的商和余数,商一定是整数,用Python语言来说,divmod(a,b)返回元组(a//b,a%b)

你用//


//整除



~


#伊君水# 用c++编写函数找出二维数组(5*4)中元素的最大值与最小值,并返回其最大值与最小值.测试结果. -
(19164299888): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 voidfun(int*data) { intmax=data[0][0]; intmin=data[0][0]; for(inti=0;i<5;i++) { for(intj=0;j<4;j++) { if(data[i][j]>max) max=data[i][j]; if(data[i][j]<min) min=data[i][j]; } } }

#伊君水# c语言中求用字符串表示两个整数相加进位次数 -
(19164299888): 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 #include<stdio.h>#include<stdlib.h>#include<math.h> intcal(intx) { intsum = 1, temp = 10; x = abs(x); if(x == 0)sum = 1; else while(x >= ...

#伊君水# 在小于1000的自然数中,被3整除余2,被7整除余3的自然数的和为多少?给我个程序 -
(19164299888): x≡2(mod3) 7x≡14(mod21) x≡3(mod7) 3x≡9 (mod21) 6x≡18(mod21) x≡-4≡17(mod21)1000-17=983 46<983/21<47 其和为:(17+17+21*46)*47/2=23500 其中 x≡y(modz)的意思为:x除以z的余数为y 如果要程序的话 int count = 0; for(int i = 1;i <= 1000;i++) { if(i % 3 == 2 && i % 7 == 3) { count += i; } }

#伊君水# 1 - 100中能被3,4或5整除的整数有多少人 -
(19164299888): 1-100中同时能被3,4,5整除的整数有1个:60.100÷60=1......40

#伊君水# 在一道除法算试里,被除数,除数,商和余数的和是47,已知商是3,余数是4,被除数和除数各是多少? -
(19164299888): 被除数是除数的三倍还多4 47-4-3-4=4*除数 所以除数是9 被除数是31

#伊君水# 在JS中,2的4次方如何计算? -
(19164299888): var num=//可以自己设定数值,设定几就是几次方 function output(){var j=2;for (var i=1;i

#伊君水# ( - 13分之4)+( - 17分4)+13分之4+( - 17分之13),( - 3分之14)+( - 3分之9)+2分之13+( - 4分之8),0.75+( - 4分之11)+0.125+(7分之五)+( - 8分之33)过程,初中的,有理数加减,求高人解答? -
(19164299888): 解:-4/13 +(-4/17) +4/13+(-13/17) =-4/17-13/17 =-17/17 =-1 -14/3+(-9/3)+13/2+(-8/4) =-23/3+3/2 -2 =(-46+9-12)/6 =-47/6 0.75+(-11/4)+0.125+5/7+(-33/8) =3/4-11/4+1/8+5/7-33/8 =-8/4-32/8+5/7 =-2-4+5/7 =-6+5/7 =-37/7 或写为-5又7分之2.

#伊君水# 若一个数是4的倍数或这个数中含有数字4,我们说这个数是“含4数”,例如20、34,将[0,100]中所有“含4... -
(19164299888): 100/4=25,因此1*4到25*4都是4的倍数,总和为325*4=1300 公式:(25-1)/2*(25+1)+(25+1)/2 =325 100中尾数4的有4, 14 ,24...94,总和为325 公式:100/10=10.从0到9为4的十位数 数列中所有项的和为1625

#伊君水# 如何利用JS 获取一组数字中的最大值 -
(19164299888): 你好,下面是我测试的代码,你试下:<br><script src='jquery-2.1.4.min.js'></script><br><ul id="ulWrap"><br><li>3</li><br><li>4</li><br><li>6</li><br><li>1</li><br><li>9</li><br></ul><br><script><br>$(function(){<br>var max_text = 0;<br>$("...

#伊君水# 从100里减6在加4,在减6在加4,直到结果为0,共减去多少个6 -
(19164299888): 45次减6加4以后得数是10,第46次减6加4后得数是8,47次减6加4后市6,第48次减6后就是0了!所以共减去48个6!!