0

please could some one understand what i am saying i need a program that can count number of digit in a number given by the user .for example if we see123 it has 3 digits...?

4
Contributors
3
Replies
6
Views
6 Years
Discussion Span
Last Post by vegaseat
0

I don't know Phyton but here is the algorithm

counter = 0

while : number >= 1
number = number / 10
counter = counter + 1

print counter

0

Convert to string and use len(),is the most commen way.

>>> n = 123
>>> len(str(n))
3
>>>

If your user input is returning a string like raw_input() in python 2.x and input() in python 3.x you can use len().
Then convert to integer if needed.
You can make function that takes integer as argument,and returning the lenght out.
A couple of example.

>>> u = raw_input('Enter a number')
Enter a number
>>> u = raw_input('Enter a number: ')
Enter a number: 123
>>> len(u)
3
>>> int(u) + 123
246

#A function
>>> def lenght(n):
	return len(str(n))

>>> lenght(12345)
5
>>>

Without converting to string.

import math
digits = int(math.log10(12345))+1
print digits #5

Edited by snippsat: n/a

0

You also should consider the possibility that the integer number might be negative.

Please leave that to the person that should do his/her own homework.

Edited by vegaseat: n/a

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.