美文网首页
Day08--课后作业

Day08--课后作业

作者: zxhlcl | 来源:发表于2018-10-10 17:36 被阅读0次
    1. 编写一个函数,求1+2+3+...+N
    def N_add(n):
        sums=0
        for x in range(0,n+1):
            sums+=x
        return sums
    print(N_add(10)) #55
    
    1. 编写一个函数,求多个数中的最大值
    def My_max(Number_list):
        max_number=0
        for nums in Number_list:
            if nums >= max_number:
                max_number=nums
        return max_number
    
    print(My_max([10,5,7,9,12,55,80,35])) #80
    
    1. 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和
    def dice(n):
        sums=0
        for i in range(1,n+1):
            rand_number=random.randint(1,6)
            sums+=rand_number
            print("第{}次摇出的骰子是:{}".format(i,rand_number))
        print("所有骰子点数之和是:{}".format(sums))
    dice(5)
    '''
    第1次摇出的骰子是:4
    第2次摇出的骰子是:6
    第3次摇出的骰子是:1
    第4次摇出的骰子是:4
    第5次摇出的骰子是:5
    所有骰子点数之和是:20
    '''
    
    1. 编写一个函数,交换指定字典的key和value。
      如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
      方法一:新建一个字典
    def change_dict(dictionry):
        result={}
        for k in dictionry:
             value=dictionry[k]
             result[value]=k
        return  result
    
    print(change_dict({"name":"james","age":18,"city":"chengdu"}))
    #{'james': 'name', 18: 'age', 'chengdu': 'city'}
    

    方法二:直接修改传递的字典

    def change_key_value(dict1:dict):
        for key in dict1.copy():
            value=dict1[key]
            del dict1[key]
            dict1[value]=key
        return dict1
    print(change_key_value({"name":"james","age":18,"city":"chengdu"}))
    
    1. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
      如:'12a&bc12d--' ---> 打印'abcd'
    def alphabet_jion(string):
        col=[]
        for x in string:
            if x.isalpha():
                col.append(x)
        return ''.join(col)
    
    print(alphabet_jion("4687sdaf*&^%&*%bcade"))  #sdafbcade
    
    1. 写一个函数,求多个数的平均值
    def average_value(number_list):
        sums=0
        average=0
        for x in number_list:
            sums+=x
        average=sums/len(number_list)
        return  average
    
    print(average_value([5,6,7,8,9,10])) #7.5
    
    1. 写一个函数,默认求10的阶层,也可以求其他数的阶层
    def factorial(n=10):
        fact=1
        if n==0:fact=1
        for x in range(1,n+1):
            fact*=x
        return fact
    
    print(factorial()) #3628800
    print(factorial(n=5))#120
    
    1. 写一个函数,可以对多个数进行不同的运算
      如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果 operation('-', 10, 9) ---> 求 10-9的结果 operation('', 2, 4, 8, 10) ---> 求 24810的结构
    def operation(symbol,*param):
    
        if symbol=='+':
            result = 0
            for x in param:
                result+=x
        elif symbol=='-':
            result = param[0]
            for i in range(1,len(param)):
                result-=param[i]
        elif symbol=='*':
            result = 1
            for x in param:
                result*=x
        return result
    
    print(operation("+",1,2,3,4,5))
    print(operation("-",1,2,3,4,5))
    print(operation("*",1,2,3,4,5))
    #15  -13   120
    

    9.写一个函数,求指定列表中,指定的元素的个数

    def element_count(element,element_list):
        count=0
        for x in element_list:
            if element==x:
                count+=1
        return count
    
    print(element_count('a',['a','b','c','a',12,58,(1,2,3),[1,2,3],'a'])) #3
    

    10.写一个函数,获取指定列表中指定元素对应的下标(如果有多个,一起返回)

    def index_count(element,element_list):
        index=[]
        for i in range(0,len(element_list)):
            if element==element_list[i]:
                index.append(i)
        return index
    
    print(index_count('a',['a','b','c','a',12,58,(1,2,3),[1,2,3],'a']))
    #[0, 3, 8]
    

    相关文章

      网友评论

          本文标题:Day08--课后作业

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