作业一:

需求:写函数,计算传入字符串中的【数字】、【字母】、【空格】以及【其他】的个数
 #!/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) #打印原来的字典

最新文章

  1. jenkins和hudson---打酱油的日子
  2. hbase0.95.2部署
  3. Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_3
  4. [设计模式] 8 组合模式 Composite
  5. int 0x13中断的參数传递
  6. android 05
  7. 【转】Unable to execute dex: Java heap space 解决方案(如何为eclipse.int 添加内存)
  8. myeclipse自动补全设置
  9. Nginx学习之十四-GDB调试Nginx初试
  10. 微信小程序之----问题
  11. chrome插件推荐
  12. 《Java从入门到放弃》入门篇:hibernate查询——HQL
  13. Largest Rectangle in a Histogram HDU - 1506 (单调栈)
  14. windows环境下redis启动加到服务中
  15. 089实战 Nginx的安装
  16. 【gRPC使用问题3】生成出来无法识别Google.Api.AnnotationsReflection.Descriptor
  17. 设置模式之单例模式(附上一个Objective-C编写的播放音乐的单例类)
  18. WAS集群:记一次Node Agent不活动问题解决过程
  19. Visual Studio 2015中使用gdb远程调试linux程序
  20. [转]kali中eth0网卡突然消失解决方案

热门文章

  1. 第七节:Asp.Net Core内置日志和整合NLog(未完)
  2. ubuntu中编写shell脚本开机自动启动
  3. 【题解】Luogu P2447 [SDOI2010]外星千足虫
  4. Python开发【第十二篇】python作用域和global nonlocal
  5. Mysql获取字符串中的数字函数方法和调用
  6. hbase-indexer官网wiki
  7. C# 连接数据库的配置方法
  8. Windows服务的安装及配合定时器编写简单的程序
  9. python 读取.mat文件
  10. Java自学-数字与字符串 字符