import sys

# 输入
str1 = list(map(str, input()))
str2 = str(input())

# 遍历查找
t = 0  # 计数器

# 如果是大小写字母
if 65 <= ord(str2) <= 90 or 97 <= ord(str2) <= 122:
    # 从第一个子字符查开始遍历
    for i in range(len(str1)):
        # 查找每个子字符串的每一个字符
        for j in range(len(str1[i])):
            str3 = list(str1[i])
            if ord(str2) == ord(str3[j]) or abs(ord(str2) - ord(str3[j])) == 32:  # 大小写字母的ascii码相差32
                t += 1
# 如果是大小写字母
else:
    for i in range(len(str1)):
        # 查找每个子字符串
        for j in range(len(str1[i])):
            str3 = list(str1[i])
            if ord(str2) == ord(str3[j]):
                t += 1
print(t)

核心知识:大小写字母和数字的ASCII码值,查看字符ASCII码的函数ord(),绝对值函数abs()

1. 字母的ASCII码范围

大写字母(A-Z)

  • 范围:65(A)到90(Z)
  • 示例:A → 65,Z → 90,中间字符如M → 77

小写字母(a-z)

  • 范围:97(a)到122(z)
  • 示例: a → 97z → 122中间字符如m → 110

Remark: 同一字母的大小写ASCII码之差为32

2. 数字的ASCII码范围

数字0-9

  • 范围:48(0)到57(9)
  • 示例: 0 → 48,9 → 57,中间字符如5 → 53

Remark: 数字的ASCII码不是0~9

3. 其他常用字符范围(扩展知识)

控制字符(不可打印)

  • 范围:0-31 和 127 (如退格、换行符等)

标点符号和运算符

  • 范围:32(空格)到126 ! → 33,# → 35,+ → 43,= → 61,@ → 64(注意:@属于符号,非字母数字)

4. 注意事项汇总

  1. 区分大小写:大写和小写字母的ASCII码相差32(如A是65,a是97)。
  2. 编码扩展:Unicode等编码体系兼容ASCII,但包含更多字符。
  3. 编程语言差异ord()是Python的内置函数,其他语言可能需要类似函数(如Java的(int) char)。