美文网首页
day9 作业

day9 作业

作者: 憨猜猜 | 来源:发表于2019-01-04 21:26 被阅读0次

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

 def hzc_sum(n):
     """
     1-N的和
      :param n:
      :return: 
     """
     sum1 = 0
     for num in range(n+1):
         sum1 += num
     return sum1
 
 
 print(hzc_sum(5))  # 15

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

 def max_value(*args):
    """
     求多个数的最大值
     :param args: 
     :return: 
     """
     list1 = []
     for i in args:
         list1.append(i)
     return max(list1)
 
 
 print(max_value(12, 13, 14, 15, 16))  # 16

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

import random


def number_sum(n):

    """
    随机产生n个1-6的数字,数的和:param n: 次数:return: sum1
    """
    sum1 = 0
    for _ in range(n):
        random1 = random.randint(1, 6)
        print(random1, end=' ')
        sum1 += random1
    return sum1


print(number_sum(5))  # 1 2 2 5 5 sum1=15

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

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

def new_dict(dict1):
    """
    交换指定的key和value
    :param dict1:指定的字典
    :return:返回一个新的字典
    """
    dict2 = {}
    for item in dict1:
        # print(item)
        # print(dict1[item])
        dict2[dict1[item]] = item
    return dict2


dict1 = {'a': 1, 'b': 2, 'c': 3}
# new_dict(dict1)
print(new_dict(dict1))

5. 编写一个函数,三个数中的最大值

def three_max(num1, num2, num3):
    list1 = [num1, num2, num3]
    return max(list1)


print(three_max(15, 12, 19))  # 19

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

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

def day_letter(str1):
    """
    提取指定字符串中所有的字母
    :param str1:  指定字符串
    :return: 字符串中所有的字母
    """
    str2 = ''
    for i in str1:
        if 'a' <= i <= 'z' or 'A' <= i <= 'Z':
            str2 += i
    return str2


str1 = '2465dsjgjhgAGHSHF'
print(day_letter(str1))  # dsjgjhgAGHSHF

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

def mean(*args):
    """
    求多个数的平均值
    :param args: 
    :return: 平均值
    """
    sum1=0
    for i in args:
        sum1+=i
    return sum1/len(args)

a = mean(12,15,16,17,18,19)
print(a) # 16.166666666666668

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

def  factorial(n=10):
    """
    默认求10的阶乘,也可以求其他的
    :param n: 默认是10
    :return: n的阶乘
    """
    sum1 = 1
    for num in range(1,n+1):
        sum1 *= num
    return sum1


print(factorial()) # 3628800

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

# 例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
#  operation('-', 10, 9) ---> 求 10-9的结果
#  operation('*', 2, 4, 8, 10) ---> 求 2*4*8*10的结构
def multiple_different_operations(str1, *num):
    sum1 = num[0]
    for index in range(1, len(num)):
        # print(sum1)
        # print(num[index])
        if str1 == '*':
            sum1 *= num[index]
        elif str1 == '-':
            sum1 -= num[index]
        elif str1 == '+':
            sum1 += num[index]
        elif str1 == '/':
            sum1 /= num[index]
    return sum1


list1 = multiple_different_operations('+', 1, 2, 3, 4, 5)
list2 = multiple_different_operations('*', 1, 2, )
list3 = multiple_different_operations('-', 10, 9)
list4 = multiple_different_operations('/', 25, 5)
print(list1, list2, list3, list4)  # 15 2 1 5.0

相关文章

网友评论

      本文标题:day9 作业

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