zoukankan      html  css  js  c++  java
  • 老男孩Python全栈学习 S9 日常作业 010

    1、写函数,接收n个数字,求这些参数数字的和。

    def func1(*Num):
        num = 0
        for i in Num:
            num += i
        return num
    View Code

    2、读代码,回答:代码中,打印出来的值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
    答案

    3、写函数,传入函数中多个实参(均为可迭代对象如字符串,列表,元祖,集合等),将每个实参的每个元素依次添加到函数的动态参数args里面.

    例如 传入函数两个参数[1,2,3] (22,33)最终args为(1,2,3,22,33)
    def func1(*args):
        return args
    print(func1(*[1,2,3],*(22,33)))
    答案

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

    例如 传入函数两个参数{‘name’:’alex’} {‘age’:1000}最终kwargs为{‘name’:’alex’ ,‘age’:1000}
    def func1(**kwargs):
        return kwargs
    print(func1(**{'name':'alex'} ,**{'age':1000}))
    答案

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

    def func(a,b):
        return a if a < b else b
    答案

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

    例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’
    def func1(Object):
        List = []
        for i in Object:
            List.append(str(i))
        return '_'.join(List)
    答案

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

    例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)
    def func1(*args):
        num = 0
        for i in args:
            if num <= i:
                num = i
            else:
                num = num
        return num
    答案

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

    def func1(*args):
        num = 1
        for i in args:
            num *= i
        return num
    答案

    9、写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组(升级题)

    def func1():
        List1 = []
        for Num in range(2,11):
            List1.append(Num)
        List1.extend(['A','J','Q','K'])
        List2 = []
        for L in List1:
            for Color in ['','','','']:
                tmp = (L,Color)
                List2.append(tmp)
        print(List2)
        return List2
    答案

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

    def func1(*args):
        Max = 0
        Min = args[0]
        for i in args:
            if Max <= i:
                Max = i
            else:
                Max = Max
        for i in args:
            if Min >= i:
                Min = i
            else:
                Min = Min
        Dict = {}
        Dict['Max'] = Max
        Dict['Min'] = Min
        return Dict
    答案

    11、面试题

    有函数定义如下:
    def calc(a,b,c,d=1,e=2):
        return (a+b)*(c-d)+e
    示例

    请分别写出下列标号代码的输出结果,如果出错请写出Error。
    print(calc(1,2,3,4,5))
    print(calc(1,2))
    print(calc(e=4,c=5,a=2,b=3,d=3))
    print(calc(1,2,3))
    print(calc(1,2,3,e=4))
    print(calc(1,2,3,d=5,4))
    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
    答案

    12、写函数,完成99乘法表

    def func():
        for i in range(1,10):
            for ii in range(1,10):
                print('{}*{}='.format(i,ii),i*ii)
    答案

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

    a = 2
    def wrapper():
        print(a)
    wrapper()
    源代码-1
    a = 2
    def wrapper():
        a += 1
    print(a)
    wrapper()
    源代码-2
    def wrapper():
        a = 1
        def inner():
            print(a)
        inner()
    wrapper()
    源代码-3
    def wrapper():
        a = 1
        def inner():
            a += 1
            print(a)
        inner()
    wrapper()
    源代码-4
    a = 2
    def wrapper():
        global a
        a += 1
    print(a)
    wrapper()
    源代码答案-2
    def wrapper():
        a = 1
        def inner():
            nonlocal a
            a += 1
            print(a)
        inner()
    wrapper()
    源代码答案-4
  • 相关阅读:
    dfs 与 剪枝
    杭电OJ1789、南阳OJ236(贪心法)解题报告
    多边形面积问题(hdoj2036)
    retain copy(浅复制) mutablecopy (深复制)
    IOS开发的目录结构
    UITableView 委托方法总结
    ios block
    UITableView 学习笔记
    iso socket基础2
    ios socket(基础demo)
  • 原文地址:https://www.cnblogs.com/guge-94/p/10577944.html
Copyright © 2011-2022 走看看