python学习测试题6及参考答案
1.为什么要使用函数(而不使用简单的拷贝黏贴)呢?创建函数使用什么关键字,要注意什么?
答案:
- 使用函数:
- 可以降低代码量(调用函数只需要一行,而拷贝黏贴需要N倍代码)
- 可以降低维护成本(函数只需修改def部分内容,而拷贝黏贴则需要每一处出现的地方都作修改)
- 使序更容易阅读(没有人会希望看到一个程序重复一万行“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及参考答案相关推荐
- python学习测试题3及参考答案
1.下面的循环会打印多少次"I love Python" for i in range(0, 10, 2):print('I love Python') range(start, ...
- python学习测试题1及参考答案
题目 1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗? myteacher = '白天' yourteacher = myteacher yourteacher = '黑夜' print ...
- 大厂必考深度学习面试题及参考答案
目录 一,滤波器与卷积核 二,卷积层和池化输出大小计算 2.1,CNN 中术语解释 2.2,卷积输出大小计算(简化型) 2.3,理解边界效应与填充 padding 参考资料 三,深度学习框架的张量形状 ...
- EduCoder实践课程——Python零基础到精通 参考答案(四)
Python零基础到精通 Python基础篇 3-1 Python 入门之函数结构 第一关 函数的参数 - 搭建函数房子的砖 第二关 函数的返回值 - 可有可无的 return 第三关 函数的使用范围 ...
- EduCoder实践课程——Python零基础到精通 参考答案(七)
Python零基础到精通 Python基础篇 3-7 Python基础之综合练习一 第一关 最小公倍数算法 第二关 输出指定范围内的素数 第三关 Python对文件的操作 前一篇 Python基础篇 ...
- 《python 网络爬虫技术》参考答案 第1章~第7章
第1章 网络爬虫入门 1.选择题 (1)B (2)A (3)D 2.简答题 (1)预先设定一个或若干个初始网页URL,将初始URL加入到待爬取URL列表中:从待爬取列表中逐个读取URL,并将URL加 ...
- EduCoder实践课程——Python零基础到精通 参考答案(三)
Python零基础到精通 Python基础篇--基本数据类型 2-3 Python 入门之元组与字典 第一关 元组的使用:这份菜单能修改吗? 第二关 字典的使用:这份菜单可以修改 第三关 字典的遍历: ...
- EduCoder实践课程——Python零基础到精通 参考答案(一)
Python零基础到精通 Python基础篇--初体验 1-1 Python初体验--Hello World 第一关 Hello Python,我来了! 第二关 我想看世界! 第三关 学好Python ...
- EduCoder实践课程——Python零基础到精通 参考答案(六)
Python零基础到精通 Python基础篇 3-5 Python入门之模块 第一关 模块的定义 第二关 内置模块中的内置函数 3-6 Python 入门之经典函数实例 第一关 递归函数 - 汉诺塔的 ...
最新文章
- UI基础 - UIScrollView
- linux通过platform_match()匹配platform总线上的device和driver
- 计算机中的进制和编码
- vue下拉框值改变事件_vue和element ui 下拉框select的change事件
- Ubuntu设置root登录
- jQuery结合template.js实现单行文字有停顿连续向上滚动特效
- 怎样把php网站转为h5,【php】php如何把网页中的一部分生成.jpg
- 恩智浦智能车大赛2020_我院第十三届“恩智浦”杯智能车校内选拔赛宣讲会顺利举行...
- EasyUI的简单介绍
- 隐马尔科夫模型及Viterbi算法的应用
- 安笙机器人_张翰新戏搭档徐璐!包贝尔要和辛芷蕾演奇幻电影?
- iOS开发点滴 - 关闭键盘
- 论文笔记《BERT》
- Javaweb开发之git资料
- 技术实力 gw4c20b型2.0t汽油发_自动挡轻客B型房车底盘,大通与依维柯哪家强?...
- MinDoc v0.4 发布 轻量级文档在线管理系统
- 思科isis路由的优先级_通过改变 EIGRP 度量值设置优先路由
- camtasia 2022标准版录制电脑屏幕视频教程
- VC编程实现 excel插入一行单元格Insert
- 如何选择和使用视频质量客观评价指标
热门文章
- java猎头怎么做好_JAVA(猎头职位)
- mysql5.7插入数据_mysql5.7的基本使用
- 热议!互联网大厂46分钟裁员内部录音曝光!“制定一个完不成的目标”、“明确他是能力不行!”...
- 个人求职简历怎么制作?手机怎么找简历下载?
- android签名忘记密码,Android打包时忘记了签名文件的密码
- 关于熊猫认证软件IOS安装步骤教程(适用于其他软件)
- 侯捷对《C++ Primer》《GPSTL》的读书建议
- python kafka库选择_【linux】安装python依赖库confluent_kafka
- 【ELT.ZIP】OpenHarmony啃论文俱乐部——快速随机访问字符串压缩
- 详解跨平台APP的三种开发模式