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

2024-04-27 03:06:53 发布

您现在位置:Python中文网/ 问答频道 /正文

对于任何负数,它也会将“-”作为一个字符,即使它是该数字的一部分。 我试图让我的数字字符串第一,但它不会改变结果,它总是给+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


Tags: 字符串代码lenreturnifdef数字字符
3条回答

一旦你在整数周围加上引号,比如说-2,它就不再是整数了。它变成一个字符串文字,所以-2被认为是字符,就像“a”、“b”等

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

abs(int(kappa))

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

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

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

相关问题 更多 >