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
Improve Article
Save Article
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.