Python 如何让它准确地检测一个数字中有多少位?
我试图让我的代码在自己的行上分别显示每个数字,它确实做到了这一点。然而,我在它的末尾得到了一个错误,所以我想准确地检测数字中有多少位。我很难找到一个不是len()的解决方案,因为对于这个特定的程序,我不应该使用它 这是我的密码:Python 如何让它准确地检测一个数字中有多少位?,python,python-3.x,Python,Python 3.x,我试图让我的代码在自己的行上分别显示每个数字,它确实做到了这一点。然而,我在它的末尾得到了一个错误,所以我想准确地检测数字中有多少位。我很难找到一个不是len()的解决方案,因为对于这个特定的程序,我不应该使用它 这是我的密码: number = int(input("Enter a positive integer: ")) number = str(number) digits = 0 while True: print(number[digits]) digits += 1
number = int(input("Enter a positive integer: "))
number = str(number)
digits = 0
while True:
print(number[digits])
digits += 1
您可以创建一个计数器,其while循环应如下所示:
num = int(input("enter num"
result = 0
while num > 10:
num = num // 10
result += 1
result += 1
print(result)
它抛出一个错误,因为您正在运行一个无限while循环。改为使用
number = int(input("Enter a positive integer: "))
number = str(number)
digits = 0
for i in number:
print(i)
digits+=1
您还可以使用
log10
(以10为底的对数)函数:
import math
number = int(input("Enter a positive integer: "))
print(1 + int(math.log10(number)))
您只需打印与新行分隔符连接的字符串元素即可解决问题,而无需尝试查找字符串中有多少元素:
number = input("Enter a positive integer: ")
print('\n'.join(number))
出现错误的原因是当
数字
获取数字长度的值时,例如l
,则数字[l]
不存在(索引从0开始)
number=input(“输入一个正整数:”)
#类型(数字)是指您不必转换为int并重新转换为string
#既然你可以这样走。。
数字=0
对于数字中的数字:
打印(数字)#数字仍然是str
位数+=1
对于编号为1的项目:数字+=1
。您还可以添加print(item)
数字=[character.isdigit()表示str(number)中的字符]为什么要获取字符串(number
),将其转换为整数,然后再转换回字符串?我认为这可以正确计算“007”中有多少个数字?这就是为什么+1
number = input("Enter a positive integer: "))
# type(number) is <class 'str'> you don't have to convert to int and reconvert to string
# since <class 'str'> implements iterable you could go like this ..
digits = 0
for digit in number:
print(digit) # digit is still a str here
digits += 1