繁体   English   中英

为什么“ -1”的python len()命令为2?

[英]why python len() command for “-1” is 2?

对于任何负数,即使它是该数字的一部分,它也会将“-”视为字符。 我尝试先将数字设为字符串,但不会改变结果,它总是使所涉及的实际字符数为+1。

代码:

def cube(num):
    return str(num*num*num)
kappa=(cube(-5))
if len(kappa)<4:
    print(kappa)
elif len(kappa)>=4 and len(kappa)>=0:
    print(kappa + "   ,your number is bigger than 999")

结果:

-125,您的数字大于999

len正在检查字符串"-2"的长度,该字符串有两个字符。

因为您使用的是字符串的长度,所以会保留减号; 这是合乎逻辑的事情,为什么我们要删除它? 如果您对数字的数量感兴趣,只需在计算字符数之前除去减号即可:

n = '-125'
len(str(abs(int(n))))
=> 3

将引号放在一个整数周围(例如-2 ,它不再是整数。 它成为字符串文字,因此-2被视为字符,就像'a','b'等。

要获取绝对整数值,请执行以下操作:

abs(int(kappa))

我不知道你是什么意思 但是这里是简单的比较程序。

def cube(num):
    return str(num*num*num)

kappa=int(cube(-5))

if kappa<4:
    print(kappa)
elif kappa>=4:
    print(kappa + " ,your number is bigger than 4")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM