day_07 作业

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

def my_sum(count):
    """
    计算1-N的和
    :param count: count为传入的N值
    """
    sum1 = 0  # 用以存储和
    for x in range(count + 1):
        sum1 += x
    print('1-%d的和是:%d' % (count, sum1))


input_n = int(input('请输入你要求的数1-N的和中的N:'))
my_sum(input_n)

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

def my_max(*number):
    """
    求多个数中的最大值
    :param number: 提供的比较数的元祖
    """
    max1 = number[0]
    for item in number:
        if max1 < item:
            max1 = item
    print('最大值为:%d' % max1)


my_max(1, 2, 3, 99, 88, 77)

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

import random

def sum_dice(count):
    """
    打印n个色子的点数和
    :param count: 提供色子的个数
    """
    sum1 = 0  # 用以存储色子的点数和
    for x in range(count):
        number1 = random.randint(1, 6)  # 随机生成一个色子点数
        print(number1)
        sum1 += number1
    print('%d个色子的点数和是:%d' % (count, sum1))


input_dice = int(input('请输入色子个数:'))
sum_dice(input_dice)

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

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


def exchange_dict(dict1):
    """
    交换指定字典的key和value
    :param dict1: 输入一个指定的字典
    """
    dict2 = {}  # 用以存放交换后的字典
    for key, value in dict1.items():
        dict2[value] = key
    # dict1 = {}
    # dict1.update(dict2)
    print(dict2)


dict_1 = {'a': 1, 'b': 2, 'c': 3}
exchange_dict(dict_1)

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

def max_3(a, b, c):
    """
    求三个数中的最大值
    :param a: 提供第一个数
    :param b: 提供第二个数
    :param c: 提供第三个数
    """
    max_ = a
    if max_ < b:
        max_ = b
    if max_ < c:
        max_ = c
    print('最大值为:%d' % max_)


max_3(2, 3, 6)

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

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

def find_char(str1):
    """
    提取指定字符串中的所有的字母,然后拼接在一起后打印出来
    :param str1: 提供指定的字符串
    """
    # 创建所有字母的列表
    char_list = list(chr(x) for x in range(97,123))
    char_list += list(chr(x) for x in range(65, 91))
    str2 = ''  # 存放字符串中的所有字母
    for x in str1:
        if x in char_list:
            str2 += x
    print(str2)


input_str = input('请输入一串字符串')
find_char(input_str)

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

def find_avg(*number):
    """
    求多个数的平均值
    :param number: 提供多个数
    """
    sum_ = 0  # 存放多个数的和
    avg_ = 0  # 存放多个数的平均值
    for x in number:
        sum_ += x
    avg_ = (sum_ / len(number))
    print('平均值为:%f' % avg_)


find_avg(1, 2, 3, 4, 5, 6)

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

def rank(number):
    """
    求number的阶层
    :param number: 提供要求阶层的数
    """
    pro = 1  # 存放阶层
    for x in range(1,number + 1):
        pro *= x
    print('%d的阶层为:%d' % (number, pro))


input_rank = int(input('请输入要求阶层的数字:'))
rank(input_rank)

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

例如: operation('+', 1,2,3) --->求1+2+3的结果
operation( '-',10,9) --->求10-9的结果
operation( '',2,4,8,10) --->求24* 8* 10的结果

def operation(mark, *number):
    """
    可以对多个数进行不同的运算
    :param mark: 提供运算符
    :param number: 提供要运算的数
    """
    # 加法运算
    if mark == '+':
        sum_ = 0
        for x in number:
            sum_ += x
        print('所有和为:%d' % sum_)
    # 减法运算
    if mark == '-':
        sub = number[0]
        for x in range(1, len(number)):
            sub -= number[x]
        print('第一个数减后面的数的差为:%d' % sub)
    # 乘法运算
    if mark == '*':
        pro = 1
        for x in number:
            pro *= x
        print('所有数的乘积为:%d' % pro)



operation('+', 1, 2, 3)
operation('-', 99, 5, 4)
operation('*', 1, 4, 7)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容