[NOIP2010 普及组] 数字统计
题目描述
请统计某个给定范围 的所有整数中,数字 出现的次数。
比如给定范围 ,数字 在数 中出现了 次,在数 中出现 次,在数 中出现 次,在数 中出现 次,在数 中出现 次,所以数字 在该范围内一共出现了 次。
输入格式
个正整数 和 ,之间用一个空格隔开。
输出格式
数字 出现的次数。
样例 #1
样例输入 #1
1 | 2 22 |
样例输出 #1
1 | 6 |
样例 #2
样例输入 #2
1 | 2 100 |
样例输出 #2
1 | 20 |
提示
。
NOIP2010 普及组 第一题
题解
1 | a, b = map(int, input().split()) |
题解解释
这段代码实现了统计给定范围 中数字 出现的次数。首先通过 input().split()
获取用户输入的两个整数,然后通过 map(int, ...)
将输入的字符串转换为整数,并将其分别赋值给变量 a
和 b
。接着初始化计数变量 count
为 。
然后通过 for i in range(a, b + 1):
循环遍历范围 中的每一个整数。在循环中,将当前整数 i
转换为字符串 i_str
,然后通过 for j in i_str:
遍历该字符串的每一位数字。将每一位数字转换为整数 num_str
,如果 num_str
等于 ,则将 count
自增 。
最后输出 count
,即范围 中数字 出现的总次数。
知识点
提取整数中每一个数字
要提取一个整数中的每一位数字,你可以使用 Python 将其转换为字符串,然后逐个访问每个字符。下面是一个简单的示例:
1 | def extract_digits(number): |
这将输出:
1 | 1 |
这里我们将整数转换为字符串,然后遍历字符串的每个字符,将每个字符再转换回整数以获取每一位数字。
chr 和 str 函数,我搞混了
还要注意 chr 和 str 函数,我搞混了
在 Python 中,chr()
和 str()
是两个不同的函数,用途也不同。
chr()
: 这个函数接受一个整数参数,并返回对应的 ASCII 或 Unicode 字符。例如,chr(65)
将返回字符’A’,chr(97)
将返回字符’a’。
1 | print(chr(65)) # 输出: A |
str()
: 这个函数用于将对象转换为字符串。它可以接受任何类型的参数,并返回其字符串表示形式。对于数字,它会将数字转换为相应的字符串;对于其他对象,它会调用对象的__str__()
方法来获取字符串表示形式。
1 | print(str(65)) # 输出: '65' |
所以,chr()
函数是将整数转换为字符,而 str()
函数是将任意对象转换为字符串。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 W1ndysの小屋!
评论