zoukankan      html  css  js  c++  java
  • python基础作业第十天

    ---恢复内容开始---

    1,继续整理函数相关知识点,写博客。
    2,写函数,接收n个数字,求这些参数数字的和。(动态传参)

    def   sum(*num):
        s=0
        for i in num :
            s=i+s
        return s

    3,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?

    a=10
    b=20
    def test5(a,b):
    print(a,b)
    c = test5(b,a)
    print(c)

    a:20   b:10   c:None


    4,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
    a=10
    b=20
    def test5(a,b):
    a=3
    b=5
    print(a,b)
    c = test5(b,a)
    print(c)

    a:3  b:5   c:None
    5,写函数,传入函数中多个实参(均为可迭代对象如字符串,列表,元祖,集合等),将每个实参的每个元素依次添加到
    函数的动态参数args里面.
    例如 传入函数两个参数[1,2,3] (22,33)最终args为(1,2,3,22,33)

    def hanshu(*args):
        return args
    print(hanshu(*('a','v','b'),*['a',"c"]))

     6,写函数,传入函数中多个实参(实参均为字典),将每个实参的键值对依次添加到函数的动态参数kwargs里面.

    例如 传入函数两个参数{‘name’:’alex’} {‘age’:1000}最终kwargs为{‘name’:’alex’ ,‘age’:1000}

    def hanshu(**kwargs):
        return kwargs
    print(hanshu(**{'name':'alex'},**{'age':'1000'}))

    7, 下面代码成立么?如果不成立为什么报错?怎么解决?

    7.1
    a = 2
    def wrapper():
    print(a)
    wrapper()

    2
    7.2
    a = 2
    def wrapper():
    a += 1
    print(a)
    wrapper()

    解决办法:a += 1前面添加 global a
    7.3
    def wrapper():
    a = 1
    def inner():
    print(a)
    inner()
    wrapper()

    结果:1

    7.4
    def wrapper():
    a = 1
    def inner():
    a += 1
    print(a)
    inner()
    wrapper()

    解决办法  a += 1   前面添加:nonlocal a

    8,写函数,接收两个数字参数,将较小的数字返回.

    def hanshu(a,b):
        return a if a>b else b
    print(hanshu(1,2))

    9,写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符

    串,并返回.
    例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’

    def hanshu(*args):
         lst=[]
         for i in args:
             lst.append(str(i))
         s="_".join(lst)
         return s
    print(hanshu(*[1,'老男孩','武sir']))

    10,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}

    例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)

    def hanshu(*kwargs):
        # for i in kwargs
        s=max(kwargs)
        s1=min(kwargs)
        return {"max":s,"min":s1}
    print(hanshu(*(2,5,7,8,4)))

    11,写函数,传入一个参数n,返回n的阶乘

    例如:cal(7) 计算7*6*5*4*3*2*1

    def hansu(i):
        s=1
        for c in range(i):
            s=(c+1)*s
        return s
    print(hansu(7))

    12写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组

    例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃’,‘A’)]

    def hanshu():
        lst=[1,2,3,4,5,6,7,8,9,10,11,12,13]
        lst1=["红桃","黑桃","梅花","方块"]
        lst2=[]
        for i in lst1:
            for c in lst:
                s=(str(i),str(c))
                lst2.append(s)
        return lst2
    print(hanshu()

    13 有如下函数:

    def wrapper():
    def inner():
    print(666)
    wrapper()
    你可以任意添加代码,用两种或以上的方法,执行inner函数.

    def wrapper():
        def inner():
            print(666)
        inner()
    wrapper()
    def wrapper():
        def inner():
            print(666)
        return inner()
    wrapper()

    14相关面试题(先从纸上写好答案,然后在运行):

    1,有函数定义如下:
    def calc(a,b,c,d=1,e=2):
    return (a+b)*(c-d)+e
    请分别写出下列标号代码的输出结果,如果出错请写出Error。
    print(calc(1,2,3,4,5))__2___
    print(calc(1,2))__Error__
    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))__error___
    2,(此题有坑)下面代码打印的结果分别是_________,________,________.
    def extendList(val,list=[]):
    list.append(val)
    return list
    list1 = extendList(10)
    list2 = extendList(123,[])
    list3 = extendList('a')
    print('list1=%s'%list1)
    print('list2=%s'%list2)
    print('list3=%s'%list3)
    3, 写代码完成99乘法表.(升级题)
    1 * 1 = 1
    2 * 1 = 2 2 * 2 = 4
    3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
    ......
    9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81

    for i in range(1,10):
        for c in range(1,10):
            if i>=c:
                s=i*c
                print("%s*%s=%s " %(i,c,s),end='')
        print(end="
    ")
  • 相关阅读:
    springcloud中常用的注解
    MySQL--Profiling和Trace使用
    MySQL Execution Plan--IN查询计划
    MySQL Config--参数system_time_zone和参数time_zone
    MySQL Replication--全局参数gtid_executed和gtid_purged
    MySQL Transaction--事务无法正常回滚导致的异常
    MySQL Execution Plan--数据排序操作
    MySQL Session--批量KILL会话
    MySQL Transaction--MySQL与SQL Server在可重复读事务隔离级别上的差异
    MySQL Transaction--事务相关查询
  • 原文地址:https://www.cnblogs.com/zhoushibin-1/p/9649008.html
Copyright © 2011-2022 走看看