2019-01-04 day9 作业

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

def series_sum(n):
    """shuomingwendang"""
    sum1 = 0
    for num in range(1, n+1):
        sum1 += num
    print('数列求和的值:', sum1)


series_sum(5)        # 数列求和的值:15

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

def maximum(*num):
    """说明文档"""
    print('最大值:', max(*num))


maximum(1, 2, 3, 23, 34, 34, 23, 1, 1, 1)       # 最大值:34

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

import random


def roll_dice(n):
    """说明文档"""
    sum1 = 0
    for num in range(1, n+1):
        num = random.randint(1, 6)
        sum1 += num
    print('%d个色子的点数和为%d' %(n, sum1))


roll_dice(4)       # 结果随机

4. 编写一个函数,交换指定字典的key和value。
例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}

def exchange_key_value(dict1: dict):
    """说明文档"""
    for key in dict1:
        dict1.setdefault(dict1[key], key)
        del dict1[key]
    print('交换后的字典:', dict1)


exchange_key_value({'a': 1, 'b': 2, 'c': 3})    # 交换后的字典: {1:'a', 2:'b', 3:'c'}

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

def maximum(a, b, c):
    """说明文档"""
    print('三个数中的最大值:', max([a, b, c]))


maximum(77, 33, 55)      # 三个数中的最大值:77

6. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
例如:'12a&bc12d--' ---> 打印'abcd'

def all_letter(str1: str):
    """说明文档"""
    str2 = ''
    for item in str1:
        if ('a' <= item <= 'z') or ('A' <= item <= 'Z'):
            str2 += item
    print('全是字母的字符串', str2)

all_letter('12a&bc12dDFDG--')   # 全是字母的字符串:abcdDFDG

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

# 解一:
def anverage1(*n):
    """说明文档"""
    sum1 = 0
    count = 0
    for num in n:
        sum1 += num
        count += 1
    print('平均值:', sum1 / count)


anverage1(1, 2, 3, 4, 5)              # 平均值:3.0

# 解二:
def anverage2(*n):
    """说明文档"""
    print('平均值:', sum(n) / len(n))


anverage2(1, 2, 3, 4, 5, 6)       # 平均值:3.5

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

def factorial(n = 10):
    """说明文档"""
    fact = 1
    for num in range(1, n + 1):
        fact *= num
    print('%d的阶乘是:%d' %(n, fact))


factorial()     # 10的阶乘是:3628800

9. 写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
operation('-', 10, 9) ---> 求 10-9的结果
operation('', 2, 4, 8, 10) ---> 求 24810的结果

def operation(symbol, *n):
    """说明文档"""
    if symbol == '+':
        result = 0
        for num in n:
            result += num
        print('运算结果:', result)

    elif symbol == '*':
        result = 1
        for num in n:
            result *= num
        print('运算结果:', result)

    elif symbol == '-':
        list1 = list(n)
        result = list1[0]
        for index in range(1, len(list1)):
            result -= list1[index]
        print('运算结果:', result)


operation('*', 1, 2, 3, 4, 5)    # 运算结果:120

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容