Day_09-作业

2019-01-04  本文已影响0人  两只小猪呼噜噜_1539
  1. 编写一个函数,求1+2+3+...+N
def sum_n(n):
    """求1+2+3+...+N 的和"""
    sum1 = 0
    for num in range(1, n+1):
        sum1 += num
    return sum1


print(sum_n(3))  # 打印函数表达式的值
  1. 编写一个函数,求多个数中的最大值
def max_1(*args):
    """求多个数的最大值"""
    return max(args)


result = max_1(10, 20, 30)
print(result)  # 30
  1. 编写一个函数,实现摇色子的功能,打印n个色子的点数和
def sum_point(n):
    """摇色子,求n个色子的点数和"""
    import random
    sum1 = 0
    for _ in range(n):
        sum1 += random.randint(1, 6)
    return sum1


result = sum_point(5)  # 调用函数表达式并赋值
print(result)  # 打印函数表达式的值
  1. 编写一个函数,交换指定字典的key和value。
    例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def dict_change(dict1: dict):
    """交换字典中的key和value"""
    for key in dict1.copy():
        key_1 = key
        key, dict1[key] = dict1[key], key
        del dict1[key_1]
    return dict1


result = dict_change({'a': 1, 'b': 2, 'c': 3})
print(result)
  1. 编写一个函数,三个数中的最大值
def max_3(num1, num2, num3):
    """求三个数中的最大值"""
    list1 = []
    list1.append(num1)
    list1.append(num2)
    list1.append(num3)
    return max(list1)


result = max_3(10, 20, 30)
print(result)  # 30
  1. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
    例如:'12a&bc12d--' ---> 打印'abcd’
def all_letter(str1='abc'):
    """提取所有字母,拼接在一起打印"""
    str2 = ''
    for item in str1:
        if 'a' <= item <= 'z' or 'A' <= item <= 'Z':
            str2 += item
    return str2


str3 = all_letter('a1b2c3d')
print(str3, type(str3))  # abcd <class 'str'>
  1. 写一个函数,求多个数的平均值
def average(*args):
    """求多个数的平均值"""
    sum1 = 0
    for item in args:
        sum1 += item
    return sum1/len(args)


average_1 = average(10, 20)
print(average_1)  # 15.0
  1. 写一个函数,默认求10的阶层,也可以求其他数的阶层
def factorial_1(n=10):
    """求一个数的阶乘,默认是10的阶乘"""
    sum1 = 1
    for index in range(1, n+1):
        sum1 *= index
    return sum1


factorial_2 = factorial_1()
factorial_3 = factorial_1(4)
print(factorial_2)  # 3628800
print(factorial_3)  # 24
  1. 写一个函数,可以对多个数进行不同的运算
    例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
    operation('-', 10, 9) ---> 求 10-9的结果
    operation('*', 2, 4, 8, 10) ---> 求 2*4*8*10的结构
def operation_1(operator, *args):
    """
    对多个数进行不同的运算,operator:+,-,*,/, args:多个数字
    """
    # 进行加法运算
    if operator == '+':
        sum1 = 0
        for item in args:
            sum1 += item
        return sum1
    # 进行减法运算
    elif operator == '-':
        sum2 = args[0]
        for index in range(1, len(args)):
            sum2 -= args[index]
        return sum2
    # 进行乘法运算
    elif operator == '*':
        sum3 = args[0]
        for index in range(1, len(args)):
            sum3 *= args[index]
        return sum3
    # 进行除法运算
    else:
        sum4 = args[0]
        for index in range(1, len(args)):
            sum4 /= args[index]
        return sum4


result_1 = operation_1('+', 1, 2, 3)
print(result_1)  # 6
result_2 = operation_1('-', 10, 5)
print(result_2)  # 5
result_3 = operation_1('*', 2, 4, 6)
print(result_3)  # 48
result_4 = operation_1('/', 12, 3, 2)
print(result_4)  # 2.0
上一篇 下一篇

猜你喜欢

热点阅读