1. python编写函数计算任意字符串出现次数
python本身就有一个count()函数可以用来统计字符串中单个字母出现次数
def fun(s):
count = string.count('a')
return count
string = input('请输入字符串:')
a = input('请输入你要查找的字符:')
print(fun(a))
2. python中如何统计字符串中各个字母的个数
用字符串count函数计算出现次数,防止重复,可以用字典来搜集结果:
运行结果
3. python函数统计字符串中字母数学其他字符的个数
代码如下:
text = "Hello Python,Hello 2021."
letter = 0
digital = 0
other = 0
for i in text:
if i.isalpha():
letter += 1
elif i.isdigit():
digital += 1
else:
other += 1
print('字母:{} 数字:{} 其他:{}'.format(letter,digital,other))
输出:
字母:16 数字:4 其他:4
下面是Python内置关于判断字符串类型的方法介绍:
str.isalnum()
如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回True, 否则返回False。 如果c.isalpha(),c.isdecimal(),c.isdigit(),或c.isnumeric()之中有一个返回True,则字符``c``是字母或数字。
str.isalpha()
如果字符串中的所有字符都是字母,并且至少有一个字符,返回True,否则返回False。字母字符是指那些在 Unicode 字符数据库中定义为 "Letter" 的字符,即那些具有 "Lm"、"Lt"、"Lu"、"Ll" 或 "Lo" 之一的通用类别属性的字符。 注意,这与 Unicode 标准中定义的"字母"属性不同。
str.isascii()
如果字符串为空或字符串中的所有字符都是 ASCII ,返回True,否则返回False。ASCII 字符的码点范围是 U+0000-U+007F 。
3.7 新版功能.
str.isdecimal()
如果字符串中的所有字符都是十进制字符且该字符串至少有一个字符,则返回True, 否则返回False。十进制字符指那些可以用来组成10进制数字的字符,例如 U+0660 ,即阿拉伯字母数字0 。 严格地讲,十进制字符是 Unicode 通用类别 "Nd" 中的一个字符。
str.isdigit()
如果字符串中的所有字符都是数字,并且至少有一个字符,返回True,否则返回False。 数字包括十进制字符和需要特殊处理的数字,如兼容性上标数字。这包括了不能用来组成 10 进制数的数字,如 Kharosthi 数。 严格地讲,数字是指属性值为 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。
str.isidentifier()
如果字符串是有效的标识符,返回True,依据语言定义,标识符和关键字节。
调用keyword.iskeyword()来检测字符串s是否为保留标识符,例如def和class。
4. python统计各字母个数
一、实现思路
需要统计字符串中每个字母出现的次数;如果字母是第一次出现的话,就把次数置为1,如果字母非第一次出现的话,就需要在原字母已保存次数上加1;仔细思考一下,需要保存字母和出现次数,然后相同字母出现多次的话,需要在原字母保存的次数加1;字典这种数据类型可以实现这种需求。
二、代码实现
2.1 统计字母出现次数
统计字符串每个字母出现次数源码:
def count_each_char(str):
dict = {}
for i in str:
if i not in dict:
dict[i] = 1
else:
dict[i] += 1
return dict
if __name__ == "__main__":
res = count_each_char("abdefdcsdf")
print(res)
简化版统计字符串字母出现次数源码:
dict[i] 表示的是字典中字母对应的value(出现次数)
dict.get(i,0)+1 表示的是从字典获取字母,如果字典中没有查找到对应字母,则将字母i,次数1存入字典
def count_each_char(str):
dict = {}
for i in str:
dict[i]=dict.get(i,0)+1
return dict
运行结果:2.2 按字母出现次数排序
根据字母出现次数倒序排列源码:
def count_each_char_sort_value(str):
dict = {}
for i in str:
dict[i] = dict.get(i, 0) + 1
# sorted 方法会生成一个排序好的容器
# operator.itemgetter(1) 获取字典第一维的数据进行排序
# reverse 表示倒序排列
dict=sorted(dict.items(),key= operator.itemgetter(1),reverse=True)
return dict
if __name__ == "__main__":
res = count_each_char_sort_value("abdefdcsdf")
print(res)
运行结果:
从运行结果可以看出,通过调用sorted方法,已经根据指定的key进行倒序排序了
5. 用python从键盘输入一个字符串,统计其中大写小写字母以及数字的个数
#include <stdio.h>
int main()
{
char str[256];
char *p;
int upper = 0;
int lower = 0;
int space = 0;
int digit = 0;
int other = 0;
p = str; // P指针指向数组第一个元素 str[0]
gets(p);
while(*p) // P不为空的时候继续下面的
{
if(*p>='A' && *p<='Z') // 判断是否为大写
{
upper++; // 统计大写字母个数
}
else if(*p>='a' && *p<='z') //是否为小写
{
lower++; //统计小写个数
}
else if(*p == ' ') // 判断是否为“ ”
{
space++; //统计个数
}
else if(*p>='0' && *p<='9') // 判断是否为数字
{
digit++; // 统计数字个数
}
else
{
other++; //剩下的是其他字符的 统计个数
}
p++; //指针后移
}
printf("upper = %d ",upper); // 输出
printf("lower = %d ",lower); // 输出
printf("space = %d ",space);// 输出
printf("digit = %d ",digit);// 输出
printf("other = %d ",other);// 输出
return 0;
}
(5)计算字符串中字母的数量python扩展阅读:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。