1.为什么要使用函数(而不使用简单的拷贝黏贴)呢?创建函数使用什么关键字,要注意什么?

答案:

  • 使用函数:
  1. 可以降低代码量(调用函数只需要一行,而拷贝黏贴需要N倍代码)
  2. 可以降低维护成本(函数只需修改def部分内容,而拷贝黏贴则需要每一处出现的地方都作修改)
  3. 使序更容易阅读(没有人会希望看到一个程序重复一万行“I love FishC.com”)
  • 关键字,注意点

使用“def”关键字,要注意函数名后边要加上小括号“()”,然后小括号后边是冒号“:”,然后缩进部分均属于函数体的内容,例如:

def MyFun():# 我是函数体# 我也是函数体# 我们都属于函数MyFun()# 噢,我不属于MyFun()函数的了

2.请问调用以下这个函数会打印什么内容?

>>> def hello():print('Hello World!')returnprint('Welcome To FishC.com!')

答案:

当Python执行到return语句的时候,Python认为函数到此结束,需要返回了(尽管没有任何返回值),因此只会打印:Hello World!

3.请问下面x,y哪个是形参,哪个是实参?

def MyFun(x):return x ** 3y = 3
print(MyFun(y))

答案:

x是形式参数(形参),y是实际参数(实参)。
跟绝大部分编程语言一样,形参指的是函数创建和定义过程中小括号里的参数,而实参指的是函数在调用过程中传递进去的参数。

4.将前面做过的寻找水仙花数写为函数的形式,然后进行调用。

寻找水仙花:如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如153 = 1^3+5^3+3^3,因此153是一个水仙花数。编写一个程序,找出所有的水仙花数。

答案:

def Narcissus():for each in range(100, 1000):temp = eachsum = 0while temp:sum = sum + (temp%10) ** 3temp = temp // 10  # 注意这里用地板除if sum == each:print(each, end='\t')print("所有的水仙花数分别是:", end='')
Narcissus()

5.编写一个函数power()

模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值,然后调用该函数打印输出。

答案:

def power(x, y):result = 1for i in range(y):result *= xreturn resultprint(power(2, 3))

6.目测以下程序会打印什么内容:

def next():print('我在next()函数里...')pre()def pre():print('我在pre()函数里...')next()

答案:
有些编程语言不够“聪明”,向这类向前引用的方式会导致报错,但Python足够“醒目”,这段代码是正确的!因此会输出:

我在next()函数里...
我在pre()函数里...

7.目测以下程序会打印什么内容:

def fun(var):var = 1314print(var, end='')var = 520
fun(var)
print(var)

答案:

1314520

8.目测以下程序会打印什么内容?

var = ' Hi 'def fun1():global varvar = ' Baby 'return fun2(var)def fun2(var):var += 'I love you'fun3(var)return vardef fun3(var):var = ' 小甲鱼 'print(fun1())

答案:

  • 程序先调用fun1函数,fun1中定义了var变量(由于声明为global,因此为全局变量,会覆盖掉原先全局变量的值)。
  • 然后调用fun2函数(即为返回值),并将var变量传递到fun2函数中,fun2中的var为形参(也为局部变量),代码var += 'I love you' 可以先写出完整形式: var = var + 'I love you ,所以得到“baby I love you”,
  • 再调用fun3函数,由于fun3函数中的var是作用在fun3函数的局部变量,并且没有返回,这个fun3没有一点效果。
  • 因此最后返回的是在fun2函数中的var,fun1返回的就是fun2返回值,答案为:
baby I love you

9.编写一个函数 findstr()

该函数统计一个长度为 2 的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为“You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.”,子字符串为“im”,函数执行后打印“子字母串在目标字符串中共出现 3 次”。
程序执行效果:

答案:

def findStr(desStr, subStr):count = 0length = len(desStr)if subStr not in desStr:print('在目标字符串中未找到字符串!')else:for each1 in range(length-1):      if desStr[each1] == subStr[0]:if desStr[each1+1] == subStr[1]:count += 1print('子字符串在目标字符串中共出现 %d 次' % count)desStr = input('请输入目标字符串:')
subStr = input('请输入子字符串(两个字符):')
findStr(desStr, subStr)

10.将前面做过的统计出传入字符串参数写为函数的形式,然后进行调用。

编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数。程序执行结果如图:

答案:

def count(*param):length = len(param)for i in range(length):letters = 0space = 0digit = 0others = 0for each in param[i]:if each.isalpha():letters += 1elif each.isdigit():digit += 1elif each == ' ':space += 1else:others += 1print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))count('I love fishc.com.', 'I love you, you love me.')

python学习测试题6及参考答案相关推荐

  1. python学习测试题3及参考答案

    1.下面的循环会打印多少次"I love Python" for i in range(0, 10, 2):print('I love Python') range(start, ...

  2. python学习测试题1及参考答案

    题目 1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗? myteacher = '白天' yourteacher = myteacher yourteacher = '黑夜' print ...

  3. 大厂必考深度学习面试题及参考答案

    目录 一,滤波器与卷积核 二,卷积层和池化输出大小计算 2.1,CNN 中术语解释 2.2,卷积输出大小计算(简化型) 2.3,理解边界效应与填充 padding 参考资料 三,深度学习框架的张量形状 ...

  4. EduCoder实践课程——Python零基础到精通 参考答案(四)

    Python零基础到精通 Python基础篇 3-1 Python 入门之函数结构 第一关 函数的参数 - 搭建函数房子的砖 第二关 函数的返回值 - 可有可无的 return 第三关 函数的使用范围 ...

  5. EduCoder实践课程——Python零基础到精通 参考答案(七)

    Python零基础到精通 Python基础篇 3-7 Python基础之综合练习一 第一关 最小公倍数算法 第二关 输出指定范围内的素数 第三关 Python对文件的操作 前一篇 Python基础篇 ...

  6. 《python 网络爬虫技术》参考答案 第1章~第7章

    第1章  网络爬虫入门 1.选择题 (1)B (2)A (3)D 2.简答题 (1)预先设定一个或若干个初始网页URL,将初始URL加入到待爬取URL列表中:从待爬取列表中逐个读取URL,并将URL加 ...

  7. EduCoder实践课程——Python零基础到精通 参考答案(三)

    Python零基础到精通 Python基础篇--基本数据类型 2-3 Python 入门之元组与字典 第一关 元组的使用:这份菜单能修改吗? 第二关 字典的使用:这份菜单可以修改 第三关 字典的遍历: ...

  8. EduCoder实践课程——Python零基础到精通 参考答案(一)

    Python零基础到精通 Python基础篇--初体验 1-1 Python初体验--Hello World 第一关 Hello Python,我来了! 第二关 我想看世界! 第三关 学好Python ...

  9. EduCoder实践课程——Python零基础到精通 参考答案(六)

    Python零基础到精通 Python基础篇 3-5 Python入门之模块 第一关 模块的定义 第二关 内置模块中的内置函数 3-6 Python 入门之经典函数实例 第一关 递归函数 - 汉诺塔的 ...

最新文章

  1. UI基础 - UIScrollView
  2. linux通过platform_match()匹配platform总线上的device和driver
  3. 计算机中的进制和编码
  4. vue下拉框值改变事件_vue和element ui 下拉框select的change事件
  5. Ubuntu设置root登录
  6. jQuery结合template.js实现单行文字有停顿连续向上滚动特效
  7. 怎样把php网站转为h5,【php】php如何把网页中的一部分生成.jpg
  8. 恩智浦智能车大赛2020_我院第十三届“恩智浦”杯智能车校内选拔赛宣讲会顺利举行...
  9. EasyUI的简单介绍
  10. 隐马尔科夫模型及Viterbi算法的应用
  11. 安笙机器人_张翰新戏搭档徐璐!包贝尔要和辛芷蕾演奇幻电影?
  12. iOS开发点滴 - 关闭键盘
  13. 论文笔记《BERT》
  14. Javaweb开发之git资料
  15. 技术实力 gw4c20b型2.0t汽油发_自动挡轻客B型房车底盘,大通与依维柯哪家强?...
  16. MinDoc v0.4 发布 轻量级文档在线管理系统
  17. 思科isis路由的优先级_通过改变 EIGRP 度量值设置优先路由
  18. camtasia 2022标准版录制电脑屏幕视频教程
  19. VC编程实现 excel插入一行单元格Insert
  20. 如何选择和使用视频质量客观评价指标

热门文章

  1. java猎头怎么做好_JAVA(猎头职位)
  2. mysql5.7插入数据_mysql5.7的基本使用
  3. 热议!互联网大厂46分钟裁员内部录音曝光!“制定一个完不成的目标”、“明确他是能力不行!”...
  4. 个人求职简历怎么制作?手机怎么找简历下载?
  5. android签名忘记密码,Android打包时忘记了签名文件的密码
  6. 关于熊猫认证软件IOS安装步骤教程(适用于其他软件)
  7. 侯捷对《C++ Primer》《GPSTL》的读书建议
  8. python kafka库选择_【linux】安装python依赖库confluent_kafka
  9. 【ELT.ZIP】OpenHarmony啃论文俱乐部——快速随机访问字符串压缩
  10. 详解跨平台APP的三种开发模式