zoukankan      html  css  js  c++  java
  • 7道Python函数相关的练习题

    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) 计算7654321

    1 )

    #Python学习交流群:778463939
    
    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)
    
  • 相关阅读:
    读书笔记之理想设计的特征
    一些javascript 变量声明的 疑惑
    LINQ 使用方法
    Google MySQL tool releases
    读书笔记之设计的层次
    EF之数据库连接问题The specified named connection is either not found in the configuration, not intended to be used with the Ent
    转载 什么是闭包
    javascript面向对象起步
    Tips
    数据结构在游戏中的应用
  • 原文地址:https://www.cnblogs.com/python960410445/p/14524842.html
Copyright © 2011-2022 走看看