2018-10-10函数作业

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

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

num = int(input('请输入N:'))
print(func1(num))

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

def num_max(list1):
    max_num = -100
    for num in list1:
        if num > max_num:
            max_num = num
    return max_num

list1 = []
print("请输入需要比较的数字:")
list1 = map(int, input().split())
print(num_max(list1))

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

import random

def func_sum(n):
    sum1 = 0
    for x in range(n):
        sum1 += random.randint(1, 6)
    return sum1

num = int(input('请输入N:'))
print(func_sum(num))

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

def swap(dictl):
    new_dict = {}
    for key, value in dict1.items():  # dict1.items()这个函数以列表返回可遍历的(键, 值) 元组数组
        new_dict.update({value: key})
    print(new_dict)

dict1 = {'a':1, 'b':2, 'c':3}
# new_dict = {value: key for key, value in dict1.items()}  # 这条语句可以直接代替函数中的那个for循环
swap(dict1)

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

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

def change_abc(strs):
    str1 = ''
    for x in strs:
        if (x.isalpha()):
            str1 += x
    return  str1

str1 = str(input("请输入字符串:"))
print(change_abc(str1))

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

def avege_num(list1):
    sum1 = 0
    ans = 0
    for num in list1:
        ans += 1
        sum1 += num
    return sum1/ans

list1 = []
print("请输入需要计算的数字:")
list1 = map(int, input().split())
print(list1)
print(avege_num(list1))

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

def jie_chen(n=10):
    ans = 1
    for x in range(1,n+1):
        ans *= x
    return ans

num = int(input("请输入N:"))
print(jie_chen(num))

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

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

def operation(str, *num):
    ans = num[0]
    for x in range(1,len(num)):
        if str == '+':
            ans += num[x]
        if str == '*':
            ans *= num[x]
        if str == '-':
            ans -= num[x]
    return ans
print(operation('*', 6, 6, 3))

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

def count1(ans,list1):
    count = 0
    for x in list1:
        if ans == x:
            count += 1
    return count
list1 = ['余婷姐姐', "千锋", 666, '余婷姐姐', 23, "千锋", 98, '余婷姐姐', 666, "千锋"]
ans1 = input('请输入你要查询的元素:')
print(count1(ans1, list1))

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

def jiao_biao(ans, list1):
    for x in range(len(list1)):
        if ans == list1[x]:
            print(x)

list1 = ['余婷姐姐', "千锋", 666, '余婷姐姐', 23, "千锋", 98, '余婷姐姐', 666, "千锋"]
ans1 = input('请输入你要查询的元素:')
jiao_biao(ans1, list1)

你可能感兴趣的:(2018-10-10函数作业)