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...?

Recommended Answers

All 3 Replies

I don't know Phyton but here is the algorithm

counter = 0

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

print counter

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

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.