美文网首页
Day8 作业

Day8 作业

作者: ququququ | 来源:发表于2019-01-04 19:31 被阅读0次
    1. 编写一个函数,求1+2+3+...+N
    def my_sum(num1):
        """
        求1+2+3+...+N
        :param num1:
        :return:
        """
        total = 0
        for i in range(1, num1+1):
            total += i
        return total
    print(my_sum(100))
    
    1. 编写一个函数,求多个数中的最大值
    def my_max(*nums):
        """
    
        :param nums:
        :return:
        """
        return max(nums)
    print(my_max(1,2,3,7))
    
    1. 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和
    def my_dice(nums):
        """
        n个骰子的点数和
        :param nums:骰子的个数
        :return:
        """
        import random
        total = 0
        for i in range(nums):
            total += random.randint(1, 6)
    
        return total
    print(my_dice(3))
    
    1. 编写一个函数,交换指定字典的key和value。
      例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
    def swap_key_value (dict1 : dict):
        """
        交换指定字典的key和value
        :param dict1:
        :return:
        """
        for key in dict1:
            old_key = key
            key, dict1[key] = dict1[key], key
            dict1.pop(old_key)
        return dict1
    
    print(swap_key_value({'a':1, 'b':2, 'c':3}))
    

    优化代码:
    注意:遍历字典的时候字典的长度不要改变,如果遍历字典时需要对字典操作,那么就不要遍历原字典而是遍历字典copy()

    def swap_key_value (dict1 : dict):
        """
        交换指定字典的key和value
        :param dict1:
        :return:
        """
        new_dict = {}
        for key in dict1:
            new_dict[dict1[key]] = key
        return new_dict
    
    print(swap_key_value({'a':'b', 'b':2, 'c':3}))
    
    1. 编写一个函数,三个数中的最大值
    def my_max(*nums):
        """
        求多个数中的最大值
        :param nums:
        :return:
        """
        return max(nums)
    
    1. 编写一个函数,提取指定字符串中的所有的字母然后拼接在一起后打印出来
      例如:'12a&bc12d--' ---> 打印'abcd'
    def my_str(strs):
        """
        取指定字符串中的所有的字母然后拼接在一起后打印出来
        :param strs:
        :return:
        """
        new_str = ''
        for item in strs:
            if 'a' <= item <= 'z' or 'A' <= item <= 'Z':
                new_str += item
        print(new_str)
        return new_str
    
    my_str('12a&bc12E--' )
    
    1. 写一个函数,求多个数的平均值
    def my_avg(*nums):
        """
        多个数的平均值
        :param nums:
        :return:
        """
        if nums == 0:
            return sum(nums)/len(nums)
        else:
            return
    
    print(my_avg())
    
    1. 写一个函数,默认求10的阶层,也可以求其他数的阶层
    def my_factorial(num1 = 10):
        """
        默认求10的阶层,也可以求其他数的阶层
        :param num1:
        :return:
        """
        result = 1
        for i in range(1, num1+1):
            result *= i
        return result
    print(my_factorial(3))
    
    1. 写一个函数,可以对多个数进行不同的运算
      例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
      operation('-', 10, 9) ---> 求 10-9的结果
      operation('*', 2, 4, 8, 10) ---> 求 2*4*8*10的结构
    def my_calculate(operator : str, *nums):
        """
        对多个数进行不同的运算
        :param operator:运算符
        :param nums:数
        :return:
        """
        str_oper = operator
        str_num = str(nums)[1:-1]
        new_str = str_num.replace(',', str_oper)
        print(new_str)
        return eval(new_str)
    
    print(my_calculate('-', 10 , 5))
    

    相关文章

      网友评论

          本文标题:Day8 作业

          本文链接:https://www.haomeiwen.com/subject/nmwkrqtx.html