用python从键盘输入一个字符串,统计其中大写小写字母以及数字的个数?

Python026

用python从键盘输入一个字符串,统计其中大写小写字母以及数字的个数?,第1张

#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不为空的时候继续下面du的

{

if(*p>='A' &&*p<='Z') // 判断zhi是否为大写

{

upper++// 统计大写字母个数

}

else if(*p>='a' &&*p<='z') //是否为小写dao

{

lower++//统计小写个数

}

else if(*p == ' ') // 判断是否为“ ”

{

space++//统计个数

}

else if(*p>='0' &&*p<='9') // 判断是否为数字

{

digit++// 统计数字个数

}

else

{

other++//剩下的是其他字符的 统计个数

}

p++//指针后移

}

printf("upper = %d\n",upper)// 输出

printf("lower = %d\n",lower)// 输出

printf("space = %d\n",space)// 输出

printf("digit = %d\n",digit)// 输出

printf("other = %d\n",other)// 输出

return 0

}

扩展资料:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:百度百科-字符串

代码如下:【备注】:1. 用str.split(',')只能分隔逗号一种;如果涉及到多重分隔的话就需要使用re.split(',|:')。2. 原字符串以逗号分隔的,后面有一个或多个字符串,所以re.split(', | ')。3. 执行re.split(r', | ', S)操作之后,列表中会产生大量的'',就需要将filter过滤掉。4. 使用L.count(x) == 1 或者 L.count(x) >1来保留重复项或,非重复项。5. set(L)则是保留列表中的唯一项,再用list()将其转换为列表。6. 使用', '.join(L),将列表拼接成我们想要的字符串。