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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
问题如下:完成函数digits(n),返回该数字有多少位。例如:25 有 2 位数字,144 有 3 位数字。我缺少什么?它返回 2 3 4 0
n
对于等于的情况,0
您只需要返回1
。
def digits(n):
count = 0
if n == 0:
return 1
while (n > 0):
count += 1
n = n//10
return count
Run Code Online (Sandbox Code Playgroud)
对于最简单的解决方案,您可以将str
构造函数与len
.
def digits(n):
return len(str(n))
print(digits(25))
print(digits(144))
print(digits(1000))
print(digits(0))
Run Code Online (Sandbox Code Playgroud)
输出
2
3
4
1
Run Code Online (Sandbox Code Playgroud)