有没有办法得到一个数字的最后一位数.我试图找到以"1"结尾的变量,如1,11,21,31,41等.
如果我使用文本变量,我可以简单地说
print number[:-1]
Run Code Online (Sandbox Code Playgroud)
但它适用于带有文本的变量(如"hello")但不适用于数字.对于数字,我收到此错误:
TypeError: 'int' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
我试图看看是否有更好的方法以这种方式处理数字.我知道一个解决方案是转换为一个字符串,然后执行上面的命令,但我试图看看是否有另一种我错过的方式.
非常感谢提前...
Jim*_*son 36
除以10时的余数,如
numericVariable % 10
Run Code Online (Sandbox Code Playgroud)
这仅适用于正数.-12%10收益率8
Cam*_*ron 15
使用模数运算符10:
num = 11
if num % 10 == 1:
print 'Whee!'
Run Code Online (Sandbox Code Playgroud)
这给出了除以10时的余数,它总是最后一位数(当数字为正数时).
Zv_*_*oDD 12
所以你想要访问整数中的数字,如列表中的元素; 我能想到的最简单的方法是:
n = 56789
lastdigit = int(repr(n)[-1])
# > 9
Run Code Online (Sandbox Code Playgroud)
将n转换为字符串,访问最后一个元素,然后使用int构造函数将其转换回整数.
对于浮点数:
n = 179.123
fstr = repr(n)
signif_digits, fract_digits = fstr.split('.')
# > ['179', '123']
signif_lastdigit = int(signif_digits[-1])
# > 9
Run Code Online (Sandbox Code Playgroud)