[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の小屋!
评论


