‘’’
给定一个整数n,计算所有小于等于n的非负整数中数字1出现的个数
例如:n=13,输出6;n=0,输出0
‘’’
def calTime(n):
# 定义一个列表用于存放小于等于n的所有整数
lst = []
if n == 0:
return 0
for i in range(1,n+1):
lst.append(str(i))
# 遍历列表,计算每个整数中1出现的个数
count = 0
for i in lst:
c = i.count('1')
count = count + c
return count
if __name__ == '__main__':
n = 99999
print('数字1出现的个数为:',calTime(n))
有更好的思路或者实现方式请指教,欢迎交流