函数作业

2018-07-24  本文已影响0人  剑眉星目cz

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

n = int(input('请输入一个数字>>>'))
def my_sum(numbers):
    sum1 = 0
    for item in range(1, numbers+1):
            sum1 += item
    print(sum1)
my_sum(n)

结果
请输入一个数字>>>5
15

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

def my_number(*numbers):
    max = 0
    for item in numbers:
        if max < item:
            max = item
    print('最大值:',max)
my_number(15, 11, 65, 36, 24, 48, 91, 75, 46)

结果
最大值:91

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

n = int(input('摇色子的次数>>>'))
def my_sum(numbers):
    sum1 = 0
    for i in range(numbers):
        import random
        number = random.randint(1, 6)
        print('色子的点数',number)
        sum1 += number
    print('色子点数的和',sum1)
my_sum(n)

结果
摇色子的次数>>>4
色子的点数 4
色子的点数 5
色子的点数 4
色子的点数 5
色子点数的和 18

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

dict1 = {'a': 1, 'b': 2, 'c': 3}
def my_dict(dict2):
    print(dict2)
    keys = dict2.values()
    keys = list(keys)
    print(keys)
    values = dict2.keys()
    values = list(values)
    print(values)
    dict3 = {}
    count1 = 0
    for key in keys:
        count1 += 1
        count2 = 0
        for value in values:
            count2 += 1
            if count1 == count2:
                dict3[key] = value
                break
    print(dict3)
my_dict(dict1)

结果
{'a': 1, 'b': 2, 'c': 3}
[1, 2, 3]
['a', 'b', 'c']
{1: 'a', 2: 'b', 3: 'c'}

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

def my_number(number1,number2,number3):
        if number1>number2 and number1>number3:
            print(number1)
        if number2>number1 and number2>number3:
            print(number2)
        if number3>number2 and number3>number1:
            print(number3)
my_number(65, 75, 46)

结果
75

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

str1 = '12a&bc12d'
def my_str(str2):
    str3 = ''
    for item in str2:
        if ('a'<=item<='z') or ('A'<=item<='Z'):
            str3 += item
    print(str3)
my_str(str1)

结果
abcd

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

def my_number(*numbers):
    sum = 0
    count = 0
    for item in numbers:
        sum += item
        count += 1
    print('平均值:', sum/count)
my_number(15, 11, 65, 36, 24, 48, 91, 75, 46)

结果
平均值: 45.666666666666664

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

number = input('请输入阶乘的数>>>')
def func2(number1,a=10):
    i = 1
    for item in range(1, a + 1):
        i *= item
    print('10的阶乘:',i)
    i = 1
    number1 = int(number1)
    for item in range(1, number1+1):
        i *= item
    print('%d的阶乘:'% number1, i)
func2(number)


结果
请输入阶乘的数>>>12
10的阶乘: 3628800
12的阶乘: 479001600

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

def operation(str1, *numbers):
    if str1 == '*':
        i = 1
        for item in numbers:
            i *= item
        print(i)
    if str1 == '+':
        i = 0
        for item in numbers:
            i += item
        print(i)
    if str1 == '-':
        item = numbers[0]*2
        for i in numbers:
            item -= i
        print(item)
    if str1 == '/':
        item = numbers[0]**2
        for i in numbers:
            item /= i
        print(item)
operation( '/',15,5,3)
operation( '+',15,5,3)
operation( '-',15,5,3)
operation( '*',15,5,3)

结果
1.0
23
7
225
上一篇下一篇

猜你喜欢

热点阅读