英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。
我的代码:
别人的代码:
我学到了什么:
①判断字符串里面的字符是不是大写用.isupper判断
②如果要删除字符串的某个字符,用replace(str1,str2,count),把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
③正则表达式的使用:
import re
cleanString = re.sub(’\W+’,’’, string )
去除字符串里面的所有特殊字符
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
我学到了什么:
sort()无返回值,因此可以直接使用,不用新创建一个变量来储存然后再输出
对于给定的正整数N,求它的位数及其各位数字之和。
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:
我的代码:
我学到了什么:
replace的陪对方式是从左到右,匹配到第一个符合str的,就进行replace处理,所以当使用#的程序时,一开始是没什么问题的,到后来有一个O变为L后又变回O的操作,就是这个问题导致的,并且由于限定替换次数为1,后面的字符不会再被匹配
本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。
我的代码:
我学到了什么:
①在elif处,可以用upper(),保证代码的一致性
②关于capitalize的一些知识点:
1、首字符会转换成大写,其余字符会转换成小写。
2、首字符如果是非字母,首字母不会转换成大写,会转换成小写。
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
我的代码:
别人的代码:
思考:我的时间复杂度和空间复杂度都更低
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。
我学到了什么:
①一开始想着通过set()来删除多余的元素,然后发现它是无序排序后变成一个set集合,多次转换倒也是一个方法,不过嫌麻烦就没有写这个方法
②通过replace(old,"",1)来进行一次多余元素的删除,保留唯一
③对于匿名函数的学习:
网上虽然有很多阅读量很高的文章带我们学习lamber,但我一遇到问题还是疑问满天飞,再观看了更多资料后,发现匿名函数的书写规则比那些文章里面描述的复杂得多,在此做出小结,以便日后翻阅查看(自己总结的,难免有理解偏颇之处,望高人指出):
如果lamber的expresion是Loop,就把当loop判断为True时的return写在expresion的开头,如果按照常规写法写在loop判断式后面,会报错invaild syntax
配合filter使用(filter()函数:获取两个参数,第一个参数是函数,第二个是判断对象,通过函数体的条件对判断对象(可迭代)的每个元素进行判断,输出需要的结果),作为其第一个函数参数使用
lamber可无参,这时候调用里面写好的数据需要用常规函数调用方式
可以直接赋值给某个参数,然后用对象调用的方法提取数据
可以在Lamber后用()在写函数的过程中填写好需要输入的数据
输入一个字符串 str,再输入要删除字符 c,大小写不区分,将字符串 str 中出现的所有字符 c 删除。提示:去掉两端的空格。
我的代码:
我学到了什么:
①用strip()可以同时清除前后的空格
②find()只返回第一次找到的所需要的字符
随机输入一个字符串,把最左边的10个不重复的英文字母(不区分大小写)挑选出来。 如没有10个英文字母,显示信息“not found”
他人的代码:
为什么isalpha()里面可以有参数?有大神知道的话可以评论区说一下吗谢谢
我学到了什么:
如何只保留第一个出现的字符并且把之后出现的重复字符全部删除:
用line3 - line5 的方法,确保只要这个字符在原字符内,它的大写和小写都不可以再进到删改后的字符串里面
本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。
输入一个非负整数n,生成一张3的乘方表,输出
的值。可调用幂函数计算3的乘方。
本题要求统计给定整数M和N区间内素数的个数并对它们求和。