牛客网学习笔记——计算某字符出现次数

147 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

题目来自牛客网的华为机试题库,本题目为初等题

HJ2 计算某字符出现次数

描述

写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

数据范围: 1 \le n \le 1000 \1≤n≤1000
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)

示例1
输入:
ABCabc
A
输出:
2

我写的

因为不知道借助工具,所以采用了很笨的方法,想到了用ASCII码来实现大小写的转换,把大写全部转化为小写字母的ASCII码然后保存起来,然后再通过ASCII码把要找的字母也转化成小写字母对应的ASCII码,用for循环计数,找出目标字符不分大小写一共出现了多少次。

s = input()
k = input()
re = []
for i in s:
    if ord(i)-ord("a") >= 0:
        re.append(ord(i)-ord("a"))
    else:
        re.append(ord(i)-ord("A"))
count = 0
if ord(k)-ord("a") >= 0:
    k = ord(k)-ord("a")
else:
    k = ord(k)-ord("A")
for i in re:
    if i == k:
        count += 1
print(count)
对Python比较熟悉的人写的

直接用lower()把字符转化成小写的,然后使用for循环对出现的次数进行计数即可,感觉熟悉内置函数还是很有必要的,不熟悉的话就需要走好多弯路

s = input().lower()
k = input().lower()
count = 0
for i in s:
    if i == k:
        count += 1
print(count)
非常熟悉python的人写的

我还没用过s.count(k),直接就可以把字符串s里k字符出现的次数数出来

s = input().lower()
k = input().lower()
print(s.count(k))