def digits(n):
count = 0
if n == 0:
digits = int(n)+1
while (n > 0 ):
count += 1
n = n // 10
return count
print(digits(25)) # Should print 2
print(digits(144)) # Should print 3
print(digits(1000)) # Should print 4
print(digits(0)) # Should print 1
def digits(n):
count = 0
if n == 0:
___
while (___):
count += 1
___
return count
print(digits(25)) # Should print 2
print(digits(144)) #Should print 3
print(digits(1000)) # Should print 4
print(digits(0)) # Should print 1
这是问题: 完成函数digits(n),该函数返回数字包含的位数。例如:25有2位数字,而144有3位数字。 我想念什么? 返回2 3 4 0
答案 0 :(得分:1)
对于n
等于0
的情况,您只需要返回1
。
def digits(n):
count = 0
if n == 0:
return 1
while (n > 0):
count += 1
n = n//10
return count
对于最简单的解决方案,可以将str
构造函数与len
一起使用。
def digits(n):
return len(str(n))
print(digits(25))
print(digits(144))
print(digits(1000))
print(digits(0))
输出
2
3
4
1