如何查看号码的最后一位数字

时间:2011-03-10 02:36:07

标签: python

有没有办法获取数字的最后一位数字。我试图找到以“1”结尾的变量,如1,11,21,31,41等。

如果我使用文本变量,我可以简单地添加

print number[:-1] 

但它适用于带有文本的变量(如“hello”)但不适用于数字。对于数字,我会收到此错误:

TypeError: 'int' object is not subscriptable

我试图看看是否有更好的方式以这种方式处理数字。我知道一个解决方案是转换为一个字符串,然后执行上面的命令,但我试图看看是否有另一种我错过的方式。

提前非常感谢...

8 个答案:

答案 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:])