day8-函数-homework

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

def sum2(maxinum:int): #参数为最后一位数
    list1 = [x for x in range(1,maxinum+1)]
    sum2 = sum(list1)
    return sum2
print(sum2(5))

result:
15

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

def get_maxinum(*seq): #*seq表示元组
    list1 = list(seq)
    list1.sort()
    return list1[-1]

print(get_maxinum(1,5,2,1,90,9))

result:
90

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

import random
def play_dice(num):
    list1 = []
    count = 0
    for n in range(num):
        number = random.randint(1,6)
        list1.append(number)
        count += number
    print('摇色字点数情况:',list1)
    return count
print('骰子的点数和: %d' % play_dice(6))

result:
摇色字点数情况: [3, 1, 3, 5, 4, 2]
骰子的点数和: 18

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

def exchange_key_value(dict1):
    dict2 = {}
    for n in dict1:
        dict2[dict1[n]] = n
    return dict2
dict1 = {'a':1,'b':2,'c':3}
print(exchange_key_value(dict1))

result:
{1: 'a', 2: 'b', 3: 'c'}

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

def maxinum2(list1):
    list1.sort()
    return list1[-1]
list1 = [20,8,15]
print(maxinum2([20,8,15]))

result:
20

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

def get_alphabet(str1:str):
    str2 = ''
    for item in str1[:]:
        if item <= 'z' and item >= 'a' or item <= 'Z' and item >= 'A':
            str2 += item
    return str2
str2 = '12a&bc12d--'
print(get_alphabet(str2))

result:
abcd

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

def avarage(*seq): #*seq表示一个元组的数据 此时输入的时候直接输入数据就是元组,若输入元组,就会成为元组的一个子项元组
    sum1 = 0
    for item in seq[:]:
        sum1 += item
    return sum1/len(seq)
print(avarage(1,5,2,6,9))

result:
4.6

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

def factorial(num=10):
    count = 1
    for n in range(1,num+1):
        count *= n
    return count
print(factorial())
print(factorial(11))

result:
3628800
39916800

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

def operation(str1,*number):
    count = 0
    count2 = 1
    if str1 == '+':
        for n in number[:]:
            count += n
        return count
    elif str1 == '-':
        count = number[0]
        for n in number[1:]:
            count -= n
        return count
    elif str1 == '*':
        for n in number[:]:
            count2 *= n
        return count2
    elif str1 == '/':
        count2 = number[0] / number[1]
        return count2
    elif str1 == '**':
        count2 = number[0]**number[1]
        return count2
    elif str1 == '//':
        count2 = number[0] // number[1]
        return count2
    elif str1 == '%':
        count2 = number[0] % number[1]
        return count2
    else:
        print('不支持这种运算符')
print(operation('+',2,3,5,6))
print(operation('-',2,3,5,6))
print(operation('*',2,3,5,2))
print(operation('/',2,3))
print(operation('//',2,3))
print(operation('**',2,3))
print(operation('%',2,3))

result:
16
-12
60
0.6666666666666666
0
8
2

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

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,771评论 0 2
  • 继承 一、混入式继承 二、原型继承 利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承,这种实现继承的...
    magic_pill阅读 4,697评论 0 3
  • 我在梦里遇见你了 无论 你是在将我遗忘 还是在把我思念 我都想见见你 让遗忘的不再遗忘 让思念的得以相见 可我是风...
    高冷的牛肉面阅读 1,046评论 0 0
  • Service 需要在manifest.xml中注册,Service运行于主线程,和Thread没有任何关系,耗时...
    738bc070cd74阅读 3,056评论 1 5
  • 你的幸福感从来都不高,你去上了很多幸福课,上课的时候或者有所收获,但当你又陷入你自己的屏障之中时,你又会感觉到你非...
    惠水026许思琴阅读 1,339评论 0 0