有没有办法获取数字的最后一位数字。我试图找到以“1”结尾的变量,如1,11,21,31,41等。
如果我使用文本变量,我可以简单地添加
print number[:-1]
但它适用于带有文本的变量(如“hello”)但不适用于数字。对于数字,我会收到此错误:
TypeError: 'int' object is not subscriptable
我试图看看是否有更好的方式以这种方式处理数字。我知道一个解决方案是转换为一个字符串,然后执行上面的命令,但我试图看看是否有另一种我错过的方式。
提前非常感谢...
答案 0 :(得分:34)
除以10时的余数,如
numericVariable % 10
这仅适用于正数。 -12%10产生8
答案 1 :(得分:15)
使用模数运算符10:
num = 11
if num % 10 == 1:
print 'Whee!'
这给出了除以10时的余数,它总是最后一位数(当数字为正数时)。
答案 2 :(得分:12)
所以你想要访问整数中的数字,就像列表中的元素一样;我能想到的最简单的方法是:
n = 56789
lastdigit = int(repr(n)[-1])
# > 9
将 n 转换为字符串,访问最后一个元素,然后使用int构造函数将其转换回整数。
对于浮点数:
n = 179.123
fstr = repr(n)
signif_digits, fract_digits = fstr.split('.')
# > ['179', '123']
signif_lastdigit = int(signif_digits[-1])
# > 9
答案 3 :(得分:1)
我还不能添加评论,但我想迭代并扩展吉姆加里森所说的
除以10时的余数,如 numericVariable%10
这仅适用于正数。 -12%10产生8
虽然模数(%)按预期工作,但在这种情况下使用模数时会抛出一个绝对值。
<!DOCTYPE html>
<html>
<body>
<script>
function myfunction(){
var divelement = document.getElementById(id);
if(divelement.style.display === 'none')
divelement.style.display = 'block';
else
divelement.style.display = 'none';
}
</script>
<div>
<style>
form{
text-align: center;
font-size: 20px;
}
</style>
<div id="form" style="display:block;" >
<form name = "form" id = "form">
First name:<br> <br>
<input type="text" name="firstname">
<br><br>
Last name:<br><br>
<input type="text" name="lastname" ><br><br>
Message:<br><br>
<input type="text" name="message" >
<br><br>
<button onclick="myfunction('form')">Click me !!!!</button>
</form>
</div>
</div>
<div>
答案 4 :(得分:1)
迷魂,这应该起作用:
number = int(10)
#The variable number can also be a float or double, and I think it should still work.
lastDigit = int(repr(number)[-1])
#This gives the last digit of the variable "number."
if lastDigit == 1 :
print("The number ends in 1!")
您可以添加代码以结束以1结尾的数字,而不是最后的打印语句。
希望它有所帮助!
答案 5 :(得分:1)
最简单,最有效的方法是使用提醒:
last_digit = orginal_number % 10
答案 6 :(得分:0)
通过使用迭代和'digit'的内置函数,数字被视为二进制,因此它从后向前进。以下是一些代码示例。
for digit in binary:
denary= denary*2 + int(digit)
答案 7 :(得分:0)
首先转换为字符串:
oldint = 10101
newint = int(str(oldint)[-1:])