作业一:

需求:写函数,计算传入字符串中的【数字】、【字母】、【空格】以及【其他】的个数
 #!/usr/bin/env python
# -*- coding:utf-8 -*- #先定义一个函数
def func(args):
#定义一个计算数字的变量
digit_num = 0
# 定义一个计算字母的变量
al_num = 0
# 定义一个计算空格的变量
spance_num = 0
# 定义一个计算其他的变量
other_num = 0 for i in args:
if i.isdigit(): #判断是否为数字
digit_num += 1
elif i.isalpha(): #判断是否为字母
al_num += 1
elif i.isspace(): #判断是否为空格
spance_num += 1
else: #判断是否为其他
other_num += 1
return ("您输入的字符串中包含" + str(digit_num) + "个数字,包含" + str(al_num) + "个字母,包含" + str(spance_num) +"个空格,包含" + str(other_num) + "个其他字符。")
#提示用户输入字符串信息
enter = input("请您输入字符串信息进行计算:")
ret = func(enter)
print(ret)

作业二:

需求:写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5.
 #!/usr/bin/env python
# -*- coding:utf-8 -*- def obj_len(arg):
#在这里先对用户输入的内容进行判断,是否为字符串、列表、元组
if isinstance(arg, str) or isinstance(arg, list) or isinstance(arg, tuple):
if len(arg) > 5:
return"您输入的内容长度大于5."
else:
return"您输入的内容长度小于5."
return"您输入的内容不符合要求。" enter = "kljdsah" #输入字符串
#enter = [11,22,33] 输入列表
#enter = (897,658,9879) 输入元组
#enter = 123 输入的数字,输出结果为您输入的内容不符合要求。
ret = obj_len(enter)
print(ret)

作业三:

需求:写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否包含有空内容。
 def has_space(args):
for i in args:
if i.isspace():
return "您输入的内容中包含有空格!"
break
return args
result = str(input("请输入检查的内容:"))
ret = has_space(result)
print(ret)

作业四:

需求:写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
 def function4(args):
if len(args) > 2:
return args[0:2] #采用切片的方式给用户返回前两个长度的内容
return args
result = [11,22,33]
ret = function4(result)
print(ret)
函数参数传递引用特例一:在ptyhon中,对于列表、字典以及集合,在传递函数参数时,实际是传递一个引用
 def func1(args):
args.append(123) li = [11,22]
func1(li)
print(li) ==》结果为[11,22,123]
#说明:在内存中,已存在li = args = [11,22],函数中,args.append(123)
#所以最终的返回的结果为[11,22,123]
函数参数传递引用特例一:一旦遇到等于号,就会在内存中新创建并重新指向这个内容
 def func2(args):
args = 123 li = [11,22,33,44]
func2(li)
print(li) #结果为[11,22,33,44],不会受到args的影响,因为args已重新指向新的内容

作业五:

需求:写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
 def function5(args):
ret = [] #定义一个新的列表
for i in range(len(args)):
if i % 2 == 1:
ret.append(args[i])
else:
pass
return ret li = [11,22,33,44,55]
result = function5(li)
print(result)

作业六:

  需求:写函数,检查传入字典的每一个value的长度,如果大于2, 那么仅保留前两个长度的内容,并将其作为新内容返回给调用者

  方式一:创建一个变量,把遍历符合条件的内容返回

 def function6(args):
ret = {}
for key, value in args.items():
if len(value) > 2:
ret[key] = value[0:2]
else:
ret[key] = value
return ret dic = {"k1":"vdah", "k2": [11,22,33], "k3": "qw"} result = function6(dic)
print(result)

  方式二:在原来的字典中修改值,并返回给调用者

 def function(args):
for key, value in args.items():
if len(value) > 2:
args[key] = value[0:2]
else:
args[key] = value dic = {"k1":"vdah", "k2": [11,22,33], "k3": "qw"}
function(dic)
print(dic) #打印原来的字典

day007-python函数之课后作业讲解的更多相关文章

  1. python函数的返回值 讲解

    我们一起来聊聊python函数返回值的特殊情况,之前我也碰到过类似方面的问题,到后来查阅了一些资料后,发现原来是这样. 首先,写函数的时候,一定要写函数的文档,这样方便我们识别函数是做什么的.我记得很 ...

  2. day005-python基础数据类型之课后作业讲解

    1.元素的分类 需求:有如下集合[11,22,33,44,55,66,77,88,99,90……],将所有大于66的值保存在字典的第一个key中,将小于66的值保存在第二个key的值中 代码实现: # ...

  3. python 全栈开发,Day72(昨日作业讲解,昨日内容回顾,Django多表创建)

    昨日作业讲解 1.图书管理系统 实现功能:book单表的增删改查 1.1 新建一个项目bms,创建应用book.过程略... 1.2 手动创建static目录,并在目录里面创建css文件夹,修改set ...

  4. python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)

    一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...

  5. python基础一之课后作业:编写登录接口

    1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...

  6. 洗礼灵魂,修炼python(16)--列表进阶话题—>上节作业讲解+copy模块,浅拷贝,深拷贝

    上节课后作业: 1.使用列表解析输出结果:[(0,0),(0,2),(2,0),(2,2)] 方法1: 方法2: 方法3: 2.使用列表生成器打印斐波那契数列 3.使用列表解析生成列表[1x2,3x4 ...

  7. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  8. python 全栈开发,Day36(作业讲解(大文件下载以及进度条展示),socket的更多方法介绍,验证客户端链接的合法性hmac,socketserver)

     先来回顾一下昨天的内容 黏包现象粘包现象的成因 : tcp协议的特点 面向流的 为了保证可靠传输 所以有很多优化的机制 无边界 所有在连接建立的基础上传递的数据之间没有界限 收发消息很有可能不完全相 ...

  9. 短篇文档兼职看过来 python 课后作业 assignment project

    文档兼职 开题报告 读后感 课后作业 等 代写 编程,Java ,Python,R,等语言的,国内外课程作业指导,写作. 有经验,有作品,成交快,放心! 可联系 QQ 550987425

随机推荐

  1. 超级简单POI多sheet导出Excel实战

    本章节主要基于上一章节单sheet导出的基础上进行改造实现多sheet的导出,上一章节参考地址:https://www.cnblogs.com/sunny1009/p/11437005.html 1. ...

  2. C++动态规划实现查找最长公共子序列

    问题描述: 给定两个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列.(给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共 ...

  3. Matlab分布云图绘制(渐变彩色)

    方法1. 函数:fill 举例说明:应力分布云图 x=[0 1 1 0 0]; %x坐标 y=[0 0 1 1 0]; %y坐标 stress=[1 2 3 4 1] %应力大小 fill(x,y,s ...

  4. Java Objective-C AOP

    Java Use an AOP library or byte-code engineering (BCEL, cglib, asm, etc) to create a sub-class on th ...

  5. @interface __ annotation 子类可以继承到父类上的注解吗--有结论了

    博客分类: Java/J2se   作者:赵磊 博客:http://elf8848.iteye.com 不了解注解基础知识的请先看<JDK 5 Annotation\注解\注释\自定义注解> ...

  6. c#语法复习总结(1)-浅谈c#.net

    出来工作两年,发现自己进步太小了,工作能力是不能混的,想先从基础知识好好复习一下,再深入的学习一些高级框架和先进的理念.找回了博客园的密码账号,好好学习和总结.先从数据类型总结一下,无非就是值类型,引 ...

  7. 【转载】socket通信-C#实现tcp收发字符串文本数据

    在日常碰到的项目中,有些场景需要发送文本数据,也就是字符串,比如简单的聊天文字,JSON字符串等场景.那么如何如何使用SharpSocket来收发此类数据呢?其中要掌握的关键点是什么呢? 点击查看原博 ...

  8. iOS 视图调用

    init-初始化程序 viewDidLoad-加载视图 viewWillAppear-UIViewController对象的视图即将加入窗口时调用: viewDidApper-UIViewContro ...

  9. Jnetpcap简述

    Jnetpcap简述 最近需要做一个本地网络流量分析的项目,基于 Java 语言,上网查了很多资料,最后利用 Jnetpcap 实现了,这里做个记录. 这里先列一下我用到的工具以及版本: Eclips ...

  10. linux-Windows文件上传Linux

    使用Xshell5工具: 1.使用cmd在Windows上压缩文件 2.在Xshell5上使用SSH协议与Linux服务器建立连接 3.新建文件传输 4.切换到Linux文件目录 5.使用put命令进 ...