Hướng dẫn python get ones digit

I'm very sorry for necro-threading but I wanted to provide a solution without converting the integer to a string. Also I wanted to work with more computer-like thinking so that's why the answer from Chris Mueller wasn't good enough for me.

So without further ado,

import math

def count_number[number]:
    counter = 0
    counter_number = number
    while counter_number > 0:
        counter_number //= 10
        counter += 1
    return counter


def digit_selector[number, selected_digit, total]:
    total_counter = total
    calculated_select = total_counter - selected_digit
    number_selected = int[number / math.pow[10, calculated_select]]
    while number_selected > 10:
        number_selected -= 10
    return number_selected


def main[]:
    x = 1548731588
    total_digits = count_number[x]
    digit_2 = digit_selector[x, 2, total_digits]
    return print[digit_2]


if __name__ == '__main__':
    main[]

which will print:

5

Hopefully someone else might need this specific kind of code. Would love to have feedback on this aswell!

This should find any digit in a integer.

Flaws:

Works pretty ok but if you use this for long numbers then it'll take more and more time. I think that it would be possible to see if there are multiple thousands etc and then substract those from number_selected but that's maybe for another time ;]

Usage:

You need every line from 1-21. Then you can call first count_number to make it count your integer.

x = 1548731588
total_digits = count_number[x]

Then read/use the digit_selector function as follows:

digit_selector['insert your integer here', 'which digit do you want to have? [starting from the most left digit as 1]', 'How many digits are there in total?']

If we have 1234567890, and we need 4 selected, that is the 4th digit counting from left so we type '4'.

We know how many digits there are due to using total_digits. So that's pretty easy.

Hope that explains everything!

Han

PS: Special thanks for CodeVsColor for providing the count_number function. I used this link: //www.codevscolor.com/count-number-digits-number-python to help me make the digit_selector work.

View Discussion

Nội dung chính

  • How do I find the first and last digit of a number in Python?
  • How do you find the first digit and the last digit of a number?
  • How do you get the last digit of a number in Python?
  • How do you get the first digit of a number in Python?

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    Given a number and to find first and last digit of a number.
    Examples: 
     

    Input : 12345 
    Output : First digit: 1
             last digit : 5
    
    Input : 98562
    Output : First digit: 9
             last digit : 2

    To find last digit of a number, we use modulo operator %. When modulo divided by 10 returns its last digit. 
    Suppose if n = 1234 
    then last Digit = n % 10 => 4 
    To finding first digit of a number is little expensive than last digit. To find first digit of a number we divide the given number by 10 until number is greater than 10. At the end we are left with the first digit.
     

    Approach 1 [With loop]:

    C++

    #include

    using namespace std;

    int firstDigit[int n]

    {

        while [n >= 10] 

            n /= 10;

        return n;

    }

    int lastDigit[int n]

    {

        return [n % 10];

    }

    int main[]

    {

        int n = 98562;

        cout

    Javascript

    function firstDigit[n]

    {

        let digits = Math.floor[Math.log[n]/Math.log[10]]

        n = Math.floor[n / Math.pow[10, digits]]

        return n;

    }

    function lastDigit[n]{

        return [n % 10]

    }

    let n = 98562;

    document.write[firstDigit[n]," "

    document.write[lastDigit[n],"
    "
    ]

    Time Complexity: O[1]
    Auxiliary Space: O[1]

    Important note: log10[] is a mathematical function present in math.h header file. It returns log base 10 value of the passed parameter to log10[] function. 


    How do I find the first and last digit of a number in Python?

    print["Enter a Number: ", end=""] try: num = int[input[]] count = 0 while num != 0: if count == 0: last = num % 10 count = count + 1 rem = num % 10 num = int[num / 10] print["\nFirst Digit [", rem, "] + Last Digit [", last, "] =", rem + last] except ValueError: print["\nInvalid Input!"]

    How do you find the first digit and the last digit of a number?

    To find last digit of a number, we use modulo operator %. When modulo divided by 10 returns its last digit. To finding first digit of a number is little expensive than last digit. To find first digit of a number we divide the given number by 10 until number is greater than 10.

    How do you get the last digit of a number in Python?

    How to Get the Last Digit of a Decimal in Python.

    pi = 3.141..

    last_digit = int[repr[pi][-1]].

    print[f"The last digit of {pi} is {last_digit}"].

    How do you get the first digit of a number in Python?

    To get the first digit, we can use the Python math log10[] function. In the loop example, we divided by 10 until we got to a number between 0 and 10. By using the log10[] function, we can find out exactly how many times we need to divide by 10 and then do the division directly.

    Chủ Đề