python打印1到100中含有9的整数的个数。
时间: 2024-05-31 07:07:00 浏览: 73
以下是Python代码:
count = 0
for i in range(1, 101):
if '9' in str(i):
count += 1
print(count)
输出结果为:
20
因为1到100中含有9的整数有9, 19, 29, 39, 49, 59, 69, 79, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 共计20个。
相关问题
Python中求从1到n正整数中1的个数
可以使用数学归纳法证明,对于一个数n,可以将它拆分成n = a * 10^i + b,其中a是n的最高位数字,b是除最高位数字外剩余的部分。
如果a = 0,则n的最高位数字为0,此时1的个数为:
f(n) = f(b)
如果a = 1,则n的最高位数字为1,此时1的个数为:
f(n) = f(b) + (b + 1)
如果a > 1,则n的最高位数字大于1,此时1的个数为:
f(n) = a * f(10^i-1) + 10^i
其中f(10^i-1)表示从1到10^i-1的所有数字中1的个数。
根据以上递推公式,可以写出Python程序求解从1到n正整数中1的个数:
```python
def count_one(n):
if n <= 0:
return 0
s = str(n)
high = int(s[0]) # 最高位数字
pow10 = 10 ** (len(s) - 1) # 10的幂次方
last = n - high * pow10 # 除最高位数字外剩余部分
if high == 1:
return count_one(pow10 - 1) + count_one(last) + last + 1
else:
return high * count_one(pow10 - 1) + pow10 + count_one(last)
```
例如,count_one(120)的结果为93,表示从1到120中1的个数为93个。
Python中统计整数的个数
可以使用Python中的len()函数和列表推导式来统计整数的个数。
示例代码:
```python
# 定义一个整数列表
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 统计整数的个数
count = len([x for x in nums if isinstance(x, int)])
# 输出整数的个数
print("整数的个数为:", count)
```
输出结果:
```python
整数的个数为: 9
```
在上面的代码中,我们使用列表推导式来筛选出整数,并将其放入一个新的列表中,然后使用len()函数统计列表中元素的个数,从而得到整数的个数。