函数练习

1.编写一个函数,求1+2+3+...+N
2.编写一个函数,求多个数中的最大值
3.编写一一个函数,实现摇色子的功能,打印n个色子的点数和
4.编写一个函数, 交换指定字典的key和value。
例如:{'a' :1,'b':2,'c' :3} ---> {1:'a', 2: 'b', 3: 'c'}
5.编写一个函数,三个数中的最大值
6.编写-一个函数, 提取指定字符串中的所有的字母,然后拼接在一起后打印出来
例如: ' 12a&bc12d--' --->打印' abcd '
7.写一个函数,求多个数的平均值
8.写一个函数,默认求10的阶层,也可以求其他数的阶层
9.写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1,2,3) --->求1+2+3的结果
operation( '-',10,9) --->求10-9的结果
operation( '',2,4,8,10) --->求24* 8* 10的结构

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

def my_sum(*numbers):
    print('number is ', numbers)
    sum1 = 0
    for item in numbers:
        sum1 += item
    print('sum is :', sum1)


my_sum(1, 2, 3, 4, 5, 6, 7)

输出:

number is  (1, 2, 3, 4, 5, 6, 7)
sum is : 28

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

def my_max(*numbers):
    print('number is', numbers)
    max1 = numbers[1]
    for x in numbers:
        if x > max1:
            max1 = x
    print('最大值为:', max1)


my_max(1, 2, 8, 4, 5)

输出:

number is (1, 2, 8, 4, 5)
最大值为: 8

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

def random_sum(x):
    import random
    sum1 = 0
    for a in range(1, x+1):

        n = random.randint(1, 6)
        sum1 += n
        print('第%d个的数值为:' % a, n)
    print('和为:%d'%sum1)


random_sum(int(input("请输入n值:")))

输出:

请输入n值:3
第1个的数值为: 3
第2个的数值为: 4
第3个的数值为: 6
和为:13

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

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

def atoZ(one_str):
    new_str = ''
    for x in one_str:
        # A到z的Unicode编码值(十进制)为  65-122
        if 65 <= ord(x) <= 122:
            new_str = new_str + x
    print(new_str)


atoZ('12a&bc12d--')

输出:

原来的字符串为: 12a&bc12d--
字符串中的所有字母为: abcd

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

def my_average(*numers):
    print('多个数为:', numers)
    i = 0
    sum1 = 0
    for x in numers:
        i += 1
        sum1 += x
    my_average = sum1 / i
    print('平均值为:', my_average)


my_average(1, 2, 3, 4, 5, 8, 99)

输出:

多个数为: (1, 2, 3, 4, 5, 8, 99)
平均值为: 17.428571428571427

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

def jieceng(one_number):
    print('所需阶层为:', one_number)
    jiechen = 1
    for number1 in range(1, int(one_number) + 1):
        jiechen *= number1
    print('%d的阶乘为:', jiechen)


jieceng(10)

输出:

所需阶层为: 10
%d的阶乘为: 3628800

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

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

def yunsuang(fuhao, *numbers):
    if fuhao == '*':  # 判断运算符
        result = 1  # 置初值
        for m in numbers:  # 遍历参数
            result *= m

    if fuhao == '+':
        result = 0
        for m in numbers:
            result += m

    if fuhao == '-':
        result = 2 * numbers[0]
        for m in numbers:
            result -= m
    return result

    print(yunsuang('+', 1, 2, 3))
    print(yunsuang('-', 10, 9))
    print(yunsuang('*', 4, 2, 8, 10))

输出:

6
1
640

未完待续

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

相关阅读更多精彩内容

友情链接更多精彩内容