为什么“-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")
对于任何负数,它也将“-”计为一个字符,即使它是该数字的一部分。 我试着先把我的数字变成字符串,但它不会改变结果,它总是对所涉及的实际字符数 +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")