函数部分相关练习题及解答

1、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

分析:需要计算【数字】等的个数,需首先判断该元素是不是数字或字母,需要调用元素属性判断,例子如下:

 1 str1="dadsddsfd 6 reerere0r089eeffefdfd~ewrer#"
 2 def st(string):
 3     all_sum=0
 4     space_sum=0
 5     digit_sum=0
 6     oth_sum=0
 7     for i in string:
 8         if i.isdigit():
 9             digit_sum+=1;
10         elif i.isspace():
11             space_sum+=1;
12         elif i.isalpha():
13             all_sum+=1
14         else:
15             oth_sum+=1;
16     return(all_sum,space_sum,digit_sum,oth_sum)
17
18 rr=st(str1)
19 print(rr)

2、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

分析:先判断传入的对象是否为字符串、列表或者元组,如果是则调用这些对象的的len方法来判断对象的长度

def length(p):
    if isinstance(p,str)or isinstance(p.list) or isinstance(p,tuple):
        if len(p)>5:
            return "长度大于5"
        else:
            return False
    return None
temp="hello,"
ret=length(temp)
print(ret)
3、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空格。
 1 def ContainSpace(s):
 2     if isinstance(s,str)or isinstance(s,list) or isinstance(s,tuple):
 3         for i in s:
 4             if i.isspace():
 5                 return "该对象的元素含有空格"
 6             else:
 7                 return "该对象的元素不含空格"
 8
 9 ll=[‘ ‘,"123"]
10 ret4=ContainSpace(ll)
11 print(ret4)

4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

#分析:本例子要用到列表的截取,本例考虑到返回的仍旧为列表,存在瑕疵,若列表长度小于2,则系统报错;

1 def split1(*s):
2     if len(s)>2:
3         ret=s[0:2]
4         print(list(ret))
5         return True
6     else:
7         return False;
8 l1=[1,2,3,4,5]
9 split1(*l1)

5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

#若要查找下标所对应的元组,则应首先查找出所有的下标,考虑用for循环遍历;考虑到传入对象,所以使用动态参数

1 def new_li(*l):
2     result=[]
3     for i in range(len(l)):
4         if i%2==1:
5             result.append(l[i])
6     return result;
7 ret1=new_li(1,23,45,566,77,8,9)
8 print(ret1)
#方法二
def odd(*a):
    result=[]
    for k,v in enumerate(a):
        if k%2==1:
            result.append(v)
    return result
ret2=odd(1,3,5,6,6,77,88,8)
print(ret2)

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

#由于传入的对象是字典,考虑到用动态函数,接收的参数为字典格式

1 def dic(**d):
2     for i in d.values():
3         if len(i)>2:
4             ret=i[0:2]
5             print(ret)
6 dic(k1="Hello World",k2=[11,22,33,44])
7 
				
时间: 2024-08-06 05:56:35

函数部分相关练习题及解答的相关文章

tr命令的使用及相关练习题

tr命令相关选项: tr-转换或删除字符 常用选项: -c:取字符集的补集 -d:删除匹配的指定字符集中的字符 -s:把连续重复的字符以单独一个字符表示 -t:先删除第一字符集较第二字符集多出的字符 \\:反斜杠 \a:响铃 \b:退格 \n:换行 \r:回车 [:alnum:] :所有的字母和数字                                                 [:alpha:] :所有的字母                                   

《C++ Primer》学习 之 函数指针相关用法

/* 函数指针相关用法*/ 1 #define _CRT_SECURE_NO_WARNINGS 2 #define HOME 3 //#define NDEBUG 4 #include <iostream> 5 #include <stdexcept> 6 #include <cassert> 7 #include <ctype.h> 8 #include <locale> 9 #include <iterator> 10 #incl

js 时间函数 及相关运算大全

js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       //获取当前月份(0-11,0代表1月) myDate.getDate();        //获取当前日(1-31) myDate.getDay();         //获取当前星期X(0-

Orcle数据库 表的 内置函数 内链接 外连接 相关练习题

mysql数据库的相关练习题及答案

表结构示意图: 表结构创建语句: class表创建语句 create table class(cid int not null auto_increment primary key, caption varchar(32) not null)engine=innodb default charset=utf8; student表创建语句 create table student( -> sid int not null auto_increment primary key, -> sname

函数装饰器练习题

1 2 3 4 5 6 7 1.文件a.txt内容:每一行内容分别为商品名字,价钱,个数. apple 10 3 tesla 100000 1 mac 3000 2 lenovo 30000 3 chicken 10 3 通过代码,将其构建成这种数据类型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱.   1 2 3 4 5 6 7 2.有如下文

43 正则中用sub和subn函数搜索与替换 使用split函数分隔字符串 练习题

第10课 正则中用sub和subn函数搜索与替换 # 使用sub和subn函数搜索和替换 ''' sub(正则表达式,要替换的字符串,母字符串) ''' import re result = re.sub('Bill','Mike', 'Bill is my son.') print(result) # Mike is my son. 把Bill 替换成 Mike result = re.subn('Bill', 'Mike', 'Bill is my son, I like Bill') pr

python学习笔记第八节(函数的相关作业)

查看函数内部的注释 导入一个模块 加入一个装饰器,让用户调用函数的时候查看注释是函数本身的而不是装饰器的 调用加了装饰器的源代码功能 更改函数的注释信息 作业第四题,登录一次后面函数无须重复登录 函数内部可以改全局变量的列表,字典的元素,但是不能改变量,因为列表和字典是可变类型,赋值不是可变类型. 第六题,将get网页的内容缓存下来 迭代器 还记得我们用函数对象的概念,制作一个函数字典的操作吗,来来来,我们有更高大上的做法,在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典

函数的相关练习

(1) 1.输入一个正整数,求N的阶乘 2.return (2).输入一个正整数,求1!,2!.....n!阶乘和 (3). 输入姓名 年龄 工作单位 “我叫” “今年   岁了”  “现在在     工作” 在Main函数中接受这三个值 传到函数中打印 (4). 写一个函数 两个数进行比较返回最大的那个值我现在有三个数值要比较,找到最大的打印出来 (5). 方程ax2+bx+c=0;一元二次方程.求根   △=b2-4ac:若△<0方程无实根   若△>0,方程有两个不相同的实根x1 x2