前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小甲鱼《零基础学习Python》课后笔记(十九):函数——我的地盘听我的

小甲鱼《零基础学习Python》课后笔记(十九):函数——我的地盘听我的

作者头像
小火柴棒
发布2019-01-11 15:20:05
5250
发布2019-01-11 15:20:05
举报
文章被收录于专栏:石开之旅石开之旅

测试题

0.下边程序会输出什么?

代码语言:javascript
复制
def?next():??
????print('我在next()函数里...')??
????pre()??
??
def?pre():??
????print('我在pre()函数里...')??
??
next()??

输出如下:

代码语言:javascript
复制
我在next()函数里...??
我在pre()函数里...??

1.请问以下这个函数有返回值吗?

代码语言:javascript
复制
def?hello():??
????print('Hello?FishC!')??

这个函数返回值 None,python的函数都是有返回值的,所以17课的动动手的习题2才会那样打印的。

代码语言:javascript
复制
>>>?print(hello())??
Hello?FishC!??
None??

2.请问Python的return语句可以返回多个不同类型的值吗?

可以,默认用逗号隔开,是以元组的形式返回,也可以用列表包含起来返回。

代码语言:javascript
复制
>>>?def?MyFunction():??
????return?1,'allen','小甲鱼'??
??
>>>?MyFunction()??
(1,?'allen',?'小甲鱼')??
>>>?def?MyFunction():??
????return?[1,'allen','小甲鱼']??
??
>>>?MyFunction()??
[1,?'allen',?'小甲鱼']??

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

代码语言:javascript
复制
def?fun(var):??
????var?=?1314??
????print(var,?end?=?'')??
??
var?=?520??
fun(var)??
print(var)??

会打印1314520。因为函数对var的赋值操作只在函数内有效。

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

代码语言:javascript
复制
var?=?'Hi'??
??
def?fun1():??
????global?var??
????var?=?'?Baby?'??
????return?fun2(var)??
??
def?fun2(var):??
????var?+=?'I?love?you'??
????fun3(var)??
????return?var??
??
def?fun3(var):??
????var?=?'?小甲鱼?'??
??
print(fun1())??

结果如下:

代码语言:javascript
复制
Baby?I?love?you??

动动手

0.编写一个函数,判断传入的字符串参数是否为“回文联”

代码语言:javascript
复制
def?huiwen(string):?
    '判断传入的字符串是否为回文联'?
????list1?=?list(string)??
????list2?=?list(reversed(string))??
????if?list1?==?list2:??
????????return?'是回文联'??
????else:??
????????return?'不是回文联'??
??
print(huiwen('上海自来水来自海上'))??

运行结果:

代码语言:javascript
复制
是回文联??

写程序的时候写错了一个版本,如下:

代码语言:javascript
复制
def?huiwen(string):??
    '判断传入的字符串是否为回文联'
????list1?=?list(string)??
????list2?=?list1.reverse()??
????if?list1?==?list2:??
????????return?'是回文联'??
????else:??
????????return?'不是回文联'??
??
print(huiwen('上海自来水来自海上'))??

运行结果:

代码语言:javascript
复制
不是回文联??

原因是list的reverse()方法是返回None的,只会对列表内的元素逆序排序。而string的reserved()方法是会返回逆序后的字符串的。

1.编写一个函数,分别统计传入字符串参数(可能不止一个参数)的英文字母、空格、数字和其它字符的个数。

代码语言:javascript
复制
def?tongji(*param):
    '判断传入的参数中英文字母,空格,数字,其他字符的个数'??
????length?=?len(param)??
????for?i?in?range(length):??
????????letters?=?0??
????????space?=?0??
????????number?=?0??
????????other?=?0??
????????for?each?in?param[i]:??
????????????if?each.isalpha():??
????????????????letters?+=?1??
????????????elif?each.isspace():??
????????????????space?+=?1??
????????????elif?each.isdigit():??
????????????????number?+=?1??
????????????else:??
????????????????other?+=?1??
????????print('第%d个字符串共有:%d个英文字母,%d个空格,%d个数字,%d个其他字符'%(i+1,letters,space,number,other))???
??
tongji('1?love?y0u~~~','i?am?better?1314?###?&1')??

运行结果:

代码语言:javascript
复制
第1个字符串共有:6个英文字母,2个空格,2个数字,3个其他字符??
第2个字符串共有:9个英文字母,5个空格,5个数字,4个其他字符??
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年08月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试题
  • 动动手
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com