美文网首页
函数练习

函数练习

作者: 刘xin_8 | 来源:发表于2018-10-11 20:20 被阅读0次

    import random

    from random import randint

    1. 编写一个函数,求1+2+3+...+N

    def yt_sum(n):
        sum1 = 0
        for x in range(1, n+1):
            sum1 += x
        return sum1
    
    
    print('第1题:', yt_sum(100))
    
    

    2. 编写一个函数,求多个数中的最大值

    def yt_max(*nums):
        # 最大值默认是第一个数
        max1 = nums[0]
        for item in nums:
            if item > max1:
                max1 = item
        return max1
    
    
    print('第2题:', yt_max(12, 34, 6, 87, 54))
    
    

    3. 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和。

    def play_dice(n):
        sum1 = 0
        for _ in range(n):
            num = randint(1, 6)
            print(num, '点')
            sum1 += num
    
        return sum1
    
    
    print('第3题:', play_dice(2))
    
    

    4. 编写一个函数,交换指定字典的key和value。

    如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}

    def change_key_value(dict1:dict):
    
        for key in dict1.copy():
            # 通过key拿到值
            value = dict1[key]
            # 删除原来的键值对
            del dict1[key]
            # 将值作为key,键作为value,添加键值对
            dict1[value] = key
    
        """
        copy: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
        原:{ 1:'a', 2:'b', 3:'c', 4:'d' }
        key = 'a'  value=1  dict1[1]='a'
        key = 'b'  value=2  dict1[2]='b'
        ....
        
        """
    
    
    dict11 = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
    change_key_value(dict11)
    print('第4题', dict11)
    
    

    5. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来。

    如:'12a&bc12d--' ---> 打印'abcd'

    def connect(list: str):
        for char in list:
            str1 = ''
            if char.isalpha():
                str1 += char
            return str1
    
    print('第5题:', connect('12a&bchu23juj12d--'))
    

    6. 写一个函数,求多个数的平均值

    def yt_mean(*nums):
        # yt_sum的功能是求多个数的和
        return sum(nums) / len(nums)
    
    
    print('第6题:', yt_mean(1, 2, 3, 4, 5))
    
    

    7. 写一个函数,默认求10的阶层,也可以求其他数的阶层乘

    def yt_factorial(n=10):
        sum1 = 1
        for x in range(1, n+1):
            sum1 *= x
        return sum1
    
    
    print('第7题:', yt_factorial(5))
    print('第7题:', yt_factorial())
    
    

    8. 写一个函数,可以对多个数进行不同的运算 。

    如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果

    operation('-', 10, 9) ---> 求 10-9的结果

    operation('', 2, 4, 8, 10) ---> 求 24810的结构

    def yt_operation(operator, *nums):
        if operator == '+':
            sum1 = 0
            for num in nums:
                sum1 += num
            return sum1
    
        elif operator == '-':
            # 用第一个元素依次减后边的每一个数
            sum1 = nums[0]
            for index in range(1, len(nums)):
                sum1 -= nums[index]
            return sum1
        elif operator == '*':
            sum1 = 1
            for num in nums:
                sum1 *= num
            return sum1
    
    
    print('第8题:', yt_operation('+', 1, 2, 3, 4))
    print('第8题:', yt_operation('*', 1, 2, 3, 4))
    print('第8题:', yt_operation('-', 1, 2, 3, 4))
    
    

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

    def yt_count(list1:list, item):
        count = 0
        for x in list1:
            if x == item:
                count += 1
        return count
    
    
    print('第9题:', yt_count([1, 34, 56, 7, 1, 3, 1], 17))
    
    

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

    def yt_index(list1, item):
        indexs = []
        for index in range(len(list1)):
            x = list1[index]
            if x == item:
                indexs.append(index)
        return indexs
    
    
    print('第10题', yt_index([1, 34, 56, 7, 1, 3, 1], 1))
    

    相关文章

      网友评论

          本文标题:函数练习

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