Python编程:在键盘上输入两个字符串,判断一个字符串是否为另一个字符串的子串?

众所周知,学习一门语言的最好方式就是不断练习它,本文章记录了python经典编程题目,初学者必会。

给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数。(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大)。

寻找列表中所有元素中,每个元素因子中2和5的个数。因为2*5等于10,所以计算出因子2和5的对数,就得到乘积末尾0的个数

a2=0 #记录列表中因子2的个数 a5=0 #记录列表中因子5的个数

第2题:结尾非零数的奇偶性

给你一个正整数列表 L, 判断列表内所有数字乘积的最后一个非零数字的奇偶性。如果为奇数输出1,偶数则输出0。

比较粗暴,直接累乘,然后利用算法求末尾第一个非0的数字

光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。小Py光棍几十载,光棍自有光棍的快乐。让我们勇敢地面对光棍的身份吧,现在就证明自己:给你一个整数a,数出a在二进制表示下1的个数,并输出。

7的二进制是111,所以输出答案是3。这道题考的是如何将十进制整数转化为二进制数,方法就是:除二取余,逆序读取

给定一个字符串a, 将a中的大写字母 转换成小写,其它字符不变,并输出

其实这道题有很多方法,比如可以根据判断是不是大写字母,然后对其ASCII码值加32来转换等等。不过,既然是python题,就用python的方法简简单单完成啦。

需要利用lower()函数,注意lower函数只会将A-Z有效,将对应大写转换为小写,其他字符不会转换,刚好符合本题要求。

给你三个整数a,b,c, 判断能否以它们为三个边长构成三角形。 若能,输出YES,否则输出NO。

三角形任意两边之和大于第三边,可以利用列表排序求出较小的两边,然后相加再和第三边比较,进行判断

第6题:逆解最大公约数与最小公倍数

我们经常遇到的问题是给你两个数,要你求最大公约数和最小公倍数。今天我们反其道而行之,给你两个数a和b,计算出它们分别是哪两个数的积的最大公约数和最小公倍数。输出这两个数,小的在前,大的在后,以空格隔开。若有多组解,输出它们之和最小的那组。

最大公约数与最小公倍数的乘积就是所求的两数之积,即最大公约数*最小公倍数=a*b,然后题目要求两数和最小,在两数积不变的情况下,二者越接近,和越小。所以从积的平方根开始,求第一个能被积整除的数即可。

给你两个正整数a,b, 输出它们公约数的个数。

朴素的思想:从1到两数较小的数,看看是否可以同时被两数整除,若可以则结果加一

给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。 回文串的定义:记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".

根据正整数n进行分割字符串,然后判断字符串是不是回文串。由于python中字符串没有直接提供reverse函数(列表list有,但需要先将字符串转换为列表,较麻烦),所以采用字符串切片。若一个字符串为s,其逆序为s[::-1],前两个空表示提取全部,-1表示逆序。

抓不住爱情的我 总是眼睁睁看它溜走 ...现在来练习一下发现爱的能力,给你一个字符串a,如果其中包含"LOVE"(love不区分大小写)则输出LOVE,否则输出SINGLE。

先利用刚才学到的lower函数(学以致用hh),将原字符串转换为小写,然后利用str切片,得到一个子串,与目标子串(love)进行比较

给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。

这道题主要用到以下两个函数:

ord函数:返回字符的ASCII值

chr函数:根据ASCII值得到对应字符

利用ord函数和chr函数进行值的相互转换,如果判断字符移动后值大于z的,要转变到从a开始

第11题:时间就是金钱

利用python的强制类型转换,可以将字符数字转换为平台数字。str切片得到对应的小时、分钟和秒,将其全部转换为秒的进制后进行做差。

一年有多少天,这是个大问题,很值得思考。现在给你一个年份year(year为四位数字的字符串,如"2008","0012"), 你输出这一年的天数。如year="2013", 则输出365。

先利用python的强制类型转换,将字符年份转换为数字年份,然后判断闰年即可。闰年判断方法:可被4整除且不会被100整除或者可以被400整除

灵活运用print函数即可,注意当位数不足时,要按照格式向前补0

给你一个整数组成的列表L,按照下列条件输出: 若L是升序排列的,则输出"UP"; 若L是降序排列的,则输出"DOWN"; 若L无序,则输出"WRONG"。

介绍一下列表的sort方法sorted方法

sort:例如L.sort(),默认升序,会将原来的列表覆盖

sorted:例如sorted(L),默认升序,不会改变原来的列表

两者都可以接受reverse参数,来设置是否逆序。这道题中利用sorted方法与原来的列表进行比较即可。

给你一个整数列表L,判断L中是否存在相同的数字, 若存在,输出YES,否则输出NO。

先进行排序,然后一重循环进行遍历即可

十一假期,小P出去爬山,爬山的过程中每隔10米他都会记录当前点的海拔高度(以一个浮点数表示), 这些值序列保存在一个由浮点数组成的列表h中。回到家中,小P想研究一下自己经过了几个山峰,请你帮他计算一下,输出结果。 例如:h=[0.9,1.2,1.22,1.1,1.6,0.99], 将这些高度顺序连线,会发现有两个山峰,故输出一个2(序列两端不算山峰)

一次遍历即可,分别比较其与前一位和后一位的大小,注意列表不要越界

给以一个三角形的三边长a,b和c(边长是浮点数),请你判断三角形的形状。 若是锐角三角形,输出R, 若是直角三角形,输出Z, 若是钝角三角形,输出D, 若三边长不能构成三角形,输出W.

基本的三角形判断方法,熟练使用python的流程控制方法即可

第18题:简单题之勾股定理

给你直角三角形的两个直角边的边长a,b,请你求出其斜边边长,结果保留小数点后三位小数。 如a=3, b =4, 则输出5.000。

简单的数学知识,注意使用'%.3f'%进行保留三位有效数字就可以了,此外还有round方法也可以进行类似作用

第19题:简单题之列表转换

给你一个字符串列表L,请用一行代码将列表所有元素拼接成一个字符串并输出。 如L=['abc','d','efg'], 则输出abcdefg。

简单题确实,没什么好说的

第20题:简单题之输出格式练习

给你一个字符串列表L,用一行代码顺序输出L中的元素,元素之间以一个空格隔开,注意行尾不要有空格,输出单独占一行。 如L=['abc','d','efg'], 则输出abc d efg。

这里必须要介绍一下join函数

sep:分隔符。可以为空 s:要连接的元素序列、字符串、元组、字典 上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

知道了这个函数就可以愉快地ac啦

Python如何判断一个字符串是否包含指定字符串?本篇文章就给大家介绍Python判断一个字符串是否包含指定子串的3种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

程序员在字符串上使用的最常见的操作之一是判断字符串是否包含指定子字符串。而Python以非常易于阅读和易于实现的方式就可以实现此功能,有3种方法可以做到这一点。

最简单的方法是通过python的 in 运算符。

in取两个“参数”,一个在左边,一个在右边,如果左参数包含在右参数中,则返回true。

如你所见,当字符串中存在子字符串时,in运算符返回True。

否则,它返回false。

这种方法非常简单,干净,可读和惯用。

你也可以使用的另一种方法是字符串的find方法。

与被计算为布尔值的in运算符不同,find方法返回一个整数。

如果子字符串存在,则此整数本质上是子字符串开头的索引,否则返回-1。

让我们看看find方法的实际应用。

0

这个方法的一个很厉害的地方:可以指定一个开始索引和一个结束索引来限制你的搜索范围。

注意:判断“Messi”时,如果返回-1,因为你将搜索限制在索引5和25之间的字符串了。

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上就是Python如何判断一个字符串是否包含指定子字符串的详细内容,更多请关注php中文网其它相关文章!

原来 0 组就是整个正则式 , 包括没有被包围到组里面的内容。当获取 0 组的时候,你可以不写这个参数。 m.group(0) 和 m.group() 的效果是一样的: 接下来看看更多的 Match 对象的方法,看看我们能做些什么。 expand( template ) 根据一个模版用找到的内容替换模版里的相应位置 这个功能比较有趣,它根据一个模版来用匹配到的内容替换模版中的相应位置,组成一个新的字符串返回。它使用 /g<index|name> 或 /index 来指示一个组。 除了以上这些函数外, Match 对象还有些属性 pos 搜索开始的位置参数 endpos 搜索结束的位置参数 这两个是使用 findall 或 match 等函数时,传入的参数。在上面这个例子里,我们没有指定开始和结束位置,那么缺省的开始位置就是 0, 结束位置就是最后。 re 产生这个匹配的 Pattern 对象,可以认为是个逆引用 得到了产生这个匹配的规则 string 匹配的目标字符串 5. 由26个大写英文字母组成的字符串:^[A-Z]+$ 6. 由26个小写英文字母组成的字符串:^[a-z]+$ 8. 由数字、26个英文字母或者下划线组成的字符串:^w+$ 或 ^w{3,20}$ 10. 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]w{5,17}$ 15. 钱的输入格式: 17. 2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$ 19. 4.这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$ 24. 备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里 27. 双字节字符:[^x00-xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)) 28. 空白行的正则表达式:ns*r (可以用来删除空白行) 30. 首尾空白字符的正则表达式:^s*|s*$或(^s*)|(s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)

内容来源于网络如有侵权请私信删除

我要回帖

更多关于 python判断两个字符串是否相等 的文章

 

随机推荐