day9-函数基础-作业

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

代码如下

def my_sum1(n):
    sum1 = 0
    for x in range(1, n+1):
        sum1 += x
    return sum1


print(my_sum1(100))

运行结果

5050

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

代码如下

def max1(*nums):
    n = 0
    for x in range(len(nums)):
       if n < nums[x]:
           n = nums[x]
    return n


print('最大值为:', max1(1, 20, 56, 65))

运行结果

最大值为: 65

3.编写一个函数,实现摇骰子的功能,打印n个骰子的点数和####代码如下

import random


def bask(n):
    sum1 = 0
    x = 0
    while n:
        x = random.randint(1, 6) #随机数生成
        print(x)
        sum1 += x
        n -= 1
    return sum1


n = int(input('请输入你骰子的个数:'))
print('骰子点数总和为:',bask(n))

运行结果

请输入你骰子的个数:3
4
4
3
骰子点数总和为: 11

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

代码如下

def change(dict1):
    list1 = list(dict1)
    for list2 in list1:
        value = dict1[list2]
        del dict1[list2]
        dict1[value] = list2
    return dict1


dict1 = {'name': '小明', 'age': 45, 'tel': 16654556}
print(change(dict1))

运行结果

{'小明': 'name', 45: 'age', 16654556: 'tel'}

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

代码如下

def letter(n):
    str2 = ''
    for x in n:
        if 'a' <= x <='z' or 'A' <= x <= 'Z':
            str2 += x
    return str2


str1 = input('请输入一串字符串:')
print('其中字母为:', letter(str1))

运行结果

请输入一串字符串:44sd5f6A6D
其中字母为: sdfAD

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

代码如下

def Avg(*nums):
    sum1 = sum(nums)
    print(sum1)
    avg1 = sum1 / len(nums)
    return avg1


print('平均值为:', Avg(52, 36, 10, 3))

运行结果

101
平均值为: 25.25

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

代码如下

def jie_ceng(num=10):
    s = 1
    for x in range(1, num+1):
        s *= x
    return s


print(jie_ceng())
print(jie_ceng(5))

运行结果

3628800
120

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

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

代码如下

def operation(*num):
    list1 = list(num)
    if list1[0] == '+':
        sum1 = 0
        for index in range(1, len(list1)):
            sum1 += list1[index]
        return sum1
    elif list1[0] == '*':
        cheng = 1
        for index in range(1, len(list1)):
            cheng *= list1[index]
        return cheng
    elif list1[0] == '-':
        cha = list1[1]
        for index in range(2, len(list1)):
            cha -= list1[index]
        return cha


print(operation('+', 5, 2, 3))
print(operation('*', 5, 2, 3))
print(operation('-', 5, 2, 3))

运行结果

10
30
0

9.写一个函数,求指定列表中,指定的元素的个数

代码如下

def zhi_ding(list1, n):
    return list(list1).count(n)


list1 = ['a', 'b', 2, 2, 'a', 'b']
print('个数为:', zhi_ding(list1, 'a'))

运行结果

个数为: 2

10.写一个函数,获取指定列表中指定元素对应的下标(如果有多个,一起返回)

代码如下

def xiao_biao(list1, n):
    list1 = list(list1)
    count = list1.count(n)
    list3 = []
    for index in range(len(list1)):
        if list1[index] == n:
            list3.append(index)
    return list3


list1 = ['a', 'b', 2, 2, 'a', 'b']
print('元素下标分别为:', xiao_biao(list1, 'a'))

运行结果

元素下标分别为: [0, 4]

你可能感兴趣的:(day9-函数基础-作业)