Python练习题详解之函数3(小白友好)
你好!欢迎来到Python练习题详解系列。为了让小白(也就是我本人)更好的理解代码,打好编程基础,我决定仔细地解说一些练习题。欢迎阅读!奥利给!
题目1
编写一个函数,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,既可顺读,也可倒读。例如:上海自来水来自海上)。
思路:
首先,给小伙伴们介绍一个BIF:
reversed()方法用于返回逆向迭代序列的值。同样的道理,实现效果跟列表的内建方法reserse()一致。区别是列表的内建方法是原地翻转,而reversed()是返回一个翻转后的迭代对象。你没看错,它不是返回一个列表,是返回一个迭代对象:
看到这里是不是一下子就直到怎么做了!确实!这是一种很简便的方法帮我们实现这个程序。
我们先把参数转换成list,然后如果这个list 等于他的reversed形式,我们就返回yes!是回文联,如果不是,就返回no!
那如果不要用这个方法呢~ 在python荣耀的战场,reversed() 被ban了。
好,那我们来想想不用这个方法,能不能也实现这个程序。
我做了一个小表格,帮助我们更好的理解。我们现在要做的是,让程序判断,这个 0 是不是等于 6,1 是不是等于 5,2是不是等于4,至于3……怎么办呢
首先,毋庸置疑,0,1,2,我们可以用遍历的形式去实现,也就是for i in range…… range是什么呢,是不是来到2,我们就不需要再往上了,是的!那么for i in range(3)就符合了我们的需求,因为他代表0,1,2;