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;

现在,来到另一个问题,这个 for i in range(3)的3是怎么得出来的呢。可不能每一次都列一个表格。我们找找规律,如果一句话有9个字,那这个数就是4,噢!所以这个数就是 9 // 2 = 4 ,同理,7 // 2 =3. 地板除就是这么好用!

至于6,5,4我们可以用这个字符串的长度来实现,长度-1,长度-2……上海自来水来自海上,有7个字,而我们的最后一位数在这个表格里是6,所以我们要在一开始先让length -1,进入循环之后,再继续依次减1。

再看看这个表格,是不是当前面的字和后面的字相等三次,上海自和自海上,我们就判定他是回文联,所以,我们可以说,当 i  == 3,就是回文联!

答案如下,哇嘎嘎:

题目2

编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、数字的个数。

思路:

首先,我们看到 ‘可能不止一个’ 就要想到def 函数后面带一个星号*,这样我们就可以输入不止一个参数。

然后我们要统计传入的英文和数字的个数,我们应该就想到了.isdigit() 和 .isalpha(),聪明的小伙伴可能觉得,呀,那很简单,做一个循环,然后让字符串里面的 i 加上.isdigit() 和 .isalpha(),再做一个变量的+=1,最后把变量的个数打印出来,不就好了。

确实是这样滴!但是我们不要忘记一个盲点(差点说华点hhh,盲生,你发现了华点),就是我们这个函数传入了不止一个参数,我们应该要把这写参数先变成字符串,要不然这个 i 就不会遍历字符串里面的每一个字符!

答案:

run:

有的小伙伴可能会觉得,what,就这?这算什么智能机器人,也太菜了吧!改进一下吧!!

行吧!改进改进!我要让我的智能机器人做到分别统计每个参数的英文字母、数字、空格、其他字符的个数!(燃烧吧!小宇宙!)

燃烧一半,我觉得这个需求好像有点难,现在买灭火器还来得及吗,来不及了!冲吧!

首先,我们思考一下,如果要让每个字符串分别统计,就说明我们的循环一定是分别进入这三个参数的。

对,那么分别进入三个参数应该怎么做呢?

有没有想到我们之前提过的 两个 for 的循环结构!

截图:

所以,我们可以做两个for,让我们的程序先进入第一个参数,然后再遍历第一个参数;然后才进入第二个参数,再遍历第二个参数……

其中,第一个for的 i 是在长度的范围遍历,也就是参数的个数,第二个for的 j 是在第 i 个参数里面遍历。

答案:

在这里,那些 word = 0,num = 0之类的应该写在第一个for里面,代表每一次进入一个新的参数,这些数据会清零。(如果不放在第一个for 里面,就会产生一个累计的数,not good!)

run:

呀呀,开心~!嘻嘻嘻!

python函数练习题详解_Python练习题详解之函数3(小白友好)相关推荐

  1. python自定义函数详解_python基础教程之自定义函数介绍

    函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以 ...

  2. python形式参数和实际参数_python学习笔记3:函数和参数

    函数 函数的参数和返回值 形参(形式参数): 在函数定义的时候用到的参数没有具体值,只是一个占位的符号,成为形参,下例中的peison 实参(实际参数): 在调用函数的时候输入的值:下例中的明月 de ...

  3. python大学课程实验六_Python程序设计实验六:函数

    安徽工程大学 Python程序设计 实验报告 班级  物流191   姓名姚彩琴学号3190505129 成绩 日期     2020.5.3     指导老师修宇 [实验目的] 掌握函数的定义与使用 ...

  4. python中sort函数是什么意思_python中sort和sorted函数

    在学习python的过程中,感觉python中的排序相和c++中的泛型算法还是比较相似的,但相对于c++而言更加简单易用. python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性 ...

  5. python函数闭包的应用_python学习第10天----函数名应用、闭包、迭代器

    1.函数名的应用 1)如果直接打印函数名,打印出的为函数的地址 deffunc():print("你好,世界")print(func) 输出: View Code #可将函数赋值给 ...

  6. python range函数怎么表示无限_Python for循环与range函数的使用详解

    for 循环 for - in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(iterates),即它会遍历序列中的每一个项目 注意: 1.else 部分是可选的.当循环中包含它时,它循环中 ...

  7. python传入参数加星号_Python 带星号(* 或 **)的函数参数详解

    1. 带默认值的参数 在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下: >> def defaultValueArgs(common, defaultStr = &qu ...

  8. python函数递归求和详解_Python 递归函数详解及实例

    Python 递归函数 如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数.也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.在python里,递归函数不需要任何特殊的语法,但是 ...

  9. python中getattr详解_Python中如何使用getattr()函数

    Python中如何使用getattr()函数 发布时间:2020-08-12 14:57:55 来源:亿速云 阅读:74 作者:小新 这篇文章将为大家详细讲解有关Python中如何使用getattr( ...

最新文章

  1. 阿里云数据库快速搭建疫情分析系统最佳实践
  2. 组合数(Lucas定理) + 快速幂 --- HDU 5226 Tom and matrix
  3. 前后台分离--概念相关
  4. 【UML】UML扩展的建模概念
  5. Java交替打印两个字符串
  6. java——ArrayList中contains()方法中的疑问
  7. vb语言中怎样编码窗体中所有字体加粗_vb文本框字体加粗 vb字体加粗代码
  8. cisco思科模拟器交换机和路由器基础命令
  9. java设计文件查重,【java】查重类的实现
  10. LR9.10破解方法。
  11. 《S.忒修斯之船》读后感600字心得体会
  12. ArcGIS教程:太阳辐射建模
  13. NotePad++ HexEditor.dll下载地址,32位,64位
  14. ios 收藏app内容或网页到手机桌面
  15. signal函数详解
  16. java水仙花数(详解)
  17. JavaMail:使用163,QQ和本地服务器邮件发送
  18. GBase 8s 数据库操作指南
  19. Web —— 单页面和多页面模式
  20. Python 实现 淘宝秒杀 聚划算 自己主动提醒 源代码

热门文章

  1. python脚本百度(SEO)快排--模拟点击最新核心源码
  2. python分发扑克牌_python实现扑克牌交互式界面发牌程序
  3. iconfont symbol引入使用有彩色,通过class引入没有彩色
  4. 智能聊天机器人的优势在哪里?资深独立站卖家告诉你!
  5. 操作系统原理_田丽华(10)文件系统
  6. 视觉SLAM笔记(21) 双目相机模型
  7. 03、web前端简介
  8. leetcode-Algorithms-LC-2 |分式化简
  9. r语言 html gif,推荐 :6步教你用R语言制作动图
  10. 黑马程序员VUE学习笔记-小黑记事本案例