day9 作业

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

def sum(n) :
    """求n个数的和"""
    sum1 = 0
    for x in range(n+1) :
        sum1 += x
    print('%d之前的数之和是:%d' % (n, sum1))


sum(10)  # 10之前的数之和是:55

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

def maximum(*nums):
    print(max(nums))


maximum(1, 2, 3, 4, 5, 6, 7)  # 7

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

def dice(n) :
    import random
    sum1 = 0
    sum2 = 0
    for x in range(n) :
        nums = random.randint(1, 6)  # 取数字1~6的随机值
        sum1 += nums
        sum2 += 1

        print('第%d次摇到的数字是%d,它们之和是%s' % (sum2, nums, sum1))


dice(10)
# 第1次摇到的数字是2,它们之和是2
# 第2次摇到的数字是3,它们之和是5
# 第3次摇到的数字是3,它们之和是8
# 第4次摇到的数字是4,它们之和是12
# 第5次摇到的数字是6,它们之和是18
# 第6次摇到的数字是1,它们之和是19
# 第7次摇到的数字是1,它们之和是20
# 第8次摇到的数字是1,它们之和是21
# 第9次摇到的数字是6,它们之和是27
# 第10次摇到的数字是5,它们之和是32

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

例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
                           

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

def maximum(*nums):
    print(max(nums))


maximum(1, 2, 3)  # 3

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

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

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

def avg(*nums):
    sum = 0
    for x in nums:
        sum += x
    print(sum / int(len(nums)))


avg(10, 100, 1000)  # 370.0

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

def factorial(n) :
    """求指定数的阶乘"""
    sum1 = 1
    for x in range(1, n + 1) :
        sum1 *= x
    print('%d的阶乘是:%d' % (n, sum1))


factorial(10)  # 10的阶乘是:3628800

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

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

你可能感兴趣的:(day9 作业)