首页 > 编程知识 正文

python遇到的问题及解决方法,python遇到的问题

时间:2023-05-04 11:16:04 阅读:189528 作者:1367

最近在编码的过程中,在整除和剩余的过程中,遇到了一个有点狂热的问题。 这里我们来代码这些问题,为日后做准备。

在Python3中,除法有“/”和“//”两种。 这两者有明确的区别。 具体的区别是看看代码:

print(12/10 ) print(12/10 )这两行代码的输出如下所示。

11.2这个结果的差异很明显。 如果被除数为负,则会出现以下情况:

print(-12/10 ) print (int )-12/10 ) (print )-13//10 )三个语句的输出如下:

-1.2-1-2其中-13用“//”除以10时,可知结果为-2。 根据结果,“//”将向下舍入,“-1.3”将变为-2。 如果想得到-1,必须使用“/”强制将结果转换为int

关于取馀数的操作,比除法操作更复杂。

取正数比较直接:

print(123 )其中结果是3。

但是,如果换成负数取余数,情况就不同了:

print(-123 ) print )-123%-10 )7-3其中的第二条是我们一般意义上的剩余操作。 这里也要特别说明,涉及负数的遗留时请使用上述解决方案。

那么,让我们来看看第一条。 结果是7。 这个结果有点让人摸不着头脑,但是这个结果和Python的基础机制有关。

在Python中,取馀数的公式与其他语言相同。 r=a-n*[a//n]

这里r是馀数,a是被除数,n是除数。

但是,在“a//n”这个步骤中,如果a是负数,则如上所述,将向下调整。 也就是说,整定为负的无限方向。 这也是可以得到的:

-123=-123-10*(-123//10 )=-123-10*(-13 )=7

这里必须提到的是

print(123%-10 )在这种情况下,结果如下:

-7这从公式中也可以清楚地计算出来。

各种情况的总结如下所示。

打印(12//-10 )打印(12/10 )打印(-12/10 )打印(12//-10 )打印(12//-10 )打印(int )-12/10 ) ) print(123 ) print(-123//10 ) 123%-10 ) 11.2-1.2-2-1-2-37-33-13-7

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。