zoukankan      html  css  js  c++  java
  • 函数相关练习题

    1,写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.
    例如 传入的可迭代对象为[1,'天王','刘德华']返回的结果为’1_天王_刘德华'
     1)
    def func(lst):
        l1 = []
        for i in lst:
            l1.append(str(i))
        return '_'.join(l1)
    
    print(func([1,'天王','刘德华']))
    
    2)
    def func(lst):
        s = ''
        for i in lst:
            s=s+str(i)+'_'
        return s.strip('_')
    
    print(func([1,'天王','刘德华']))
    2,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
    例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)
    
    1)
    def func(*args):
        the_max = args[0]
        the_min = args[0]
        for i in args:
            if i > the_max:
                the_max = i
            elif i < the_min:
                the_min = i
        return {'max': the_max, 'min': the_min}
    
    ret=func(1,3,23,4,8,34,78)
    print(ret)
    
    2)
    def func(*args):
        return {'max':max(args),'min':min(args)}
    ret=func(1,3,23,4,8,34,78)
    print(ret)
    3,写函数,传入一个参数n,返回n的阶乘
    如:cal(7)  计算7*6*5*4*3*2*1
    1)
    def cal(n):
        sum = 1
        for i in range(n, 0, -1):
            sum = sum * i
        return sum
    print(cal(3))
    
    2)
    def cal(n):
        sum = 1
        while n > 0:
            sum =sum * n
            n -= 1
        return sum
    print(cal(3))
    4,写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组
    例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃’,‘A’)]
    
    def func():
        result=[]
        lst1 = ['红心','草花','黑桃','方片']
        lst2 = [2,3,4,5,6,7,8,9,10,'J','Q','K','A']
        for i in lst1:
            for j in lst2:
                result.append((i,j))   #小括号是本题要重点注意的
        return result
    print(func())
    5,#写代码完成99乘法表.
    
    for
    x in range(1,10): for y in range(1,x+1): r=x*y print("%s * %s= %s " % (x,y,r)," ",end="") print(end=" ")

    6, 一道公司的面试题
    1)
    def calc(a,b,c,d=1,e=2):
        return (a+b)*(c-d)+e
    print(calc(1,2,3,4,5))   #2
    print(calc(1,2))  #err
    print(calc(e=4,c=5,a=2,b=3)) #24
    print(calc(1,2,3))  #8
    print(calc(1,2,3,e=4))  #10
    print(calc(1,2,3,d=5,4))  #eerr
    
    2)
    def extendList(val, list=[]):  # 默认值如果是可变的数据类型. 每次使用的时候都是同一个
    #     print(id(list))
    #     list.append(val)
    #     return list
    #
    #
    # list1 = extendList(10)
    # list2 = extendList(123, [])
    # list3 = extendList('a')
    #
    # print('list1=%s' % list1)   #list1=[10, 'a']
    # print('list2=%s' % list2)   #list2=[123]        
    # print('list3=%s' % list3)   #list3=[10,'a']
    7,写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。支持用户持续输入,Q或者q退出,用户通过输入这四个内容,
    性别默认为男,如果遇到女学生,则把性别输入女;然后将这四个内容传入到函数中,将内容追加到一个student_msg文件中。
    
    def func(name,age,edu,gender=''):
        f=open('student_msg',mode='a',encoding='utf-8')
        f.write('
    '+name + '_' + gender + '_' + age + '_' + edu)
    while 1:
            content = input('是否继续录入学生信息(输入Q退出):')
            if content.upper() == 'Q':
                break
            else:
                name = input('请输入姓名:')
                gender=input('请输入性别:')
                age = input('请输入年龄:')
                edu = input('请输入学历:')
                if gender == '':
                    func(name,age,edu)
                else:
                    func(name,gender,age,edu)
  • 相关阅读:
    Java Web 网络留言板2 JDBC数据源 (连接池技术)
    Java Web 网络留言板3 CommonsDbUtils
    Java Web ConnectionPool (连接池技术)
    Java Web 网络留言板
    Java Web JDBC数据源
    Java Web CommonsUtils (数据库连接方法)
    Servlet 起源
    Hibernate EntityManager
    Hibernate Annotation (Hibernate 注解)
    wpf控件设计时支持(1)
  • 原文地址:https://www.cnblogs.com/feifeifeisir/p/9457061.html
Copyright © 2011-2022 走看看