2018-08-29-day08函数作业

  1. 编写一个函数,求1+2+3+...+N
def sum_n(n:int):
    s = 0
    for i in range(1,n+1):
        s += i
    return s
print(sum_n(10))
'''
结果:55
'''
  1. 编写一个函数,求多个数中的最大值
def the_max_num(*numbers):
   return list(numbers).sort()[-1]
print(the_max_num(10,1,8,9,7,20,21,0))
'''
结果:21
'''
  1. 编写一个函数,实现摇色子的功能,打印n个色子的点数和
import random
def roll_the_dice(n):
    s = 0
    i = 0
    while i<n:
        s += random.randint(1,6)
        i += 1
    return s
for _ in range(10):
  print(roll_the_dice(5))
'''
结果:
8
21
21
21
15
11
24
19
10
10
'''

  1. 编写一个函数,交换指定字典的key和value。
例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'} 
def swap_dict(dic:dict):
    lst_key=[]
    lst_value=[]
    for key in dic:
        lst_key.append(key)
        lst_value.append(dic[key])
    dic.clear()
    i = 0
    while i<len(lst_key):
        dic[lst_value[i]]=lst_key[i]
        i += 1
    return dic
print(swap_dict({'a':1,'b':2,'c':3}))
'''
结果:
{1: 'a', 2: 'b', 3: 'c'}
'''
  1. 编写一个函数,三个数中的最大值
def three_max(num1:int,num2:int,num3:int):
    lst = []
    lst.append(num1)
    lst.append(num2)
    lst.append(num3)
    lst.sort()
    return lst[-1]
print(three_max(7,10,8))
'''
结果:
10
'''
  1. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来 例如:'12a&bc12d--' ---> 打印'abcd'
def print_chars(str1:str):
    lst = list(str1)
    for c in lst:
        if c >= 'a' and c <= 'z' or c >= 'A' and c <= 'Z':
            print(c,end='')
    print()
print_chars('12a&bc12d--')
'''
结果:abcd
'''
  1. 写一个函数,求多个数的平均值
def avg_numbers(*numbers):
    length = len(numbers)
    s = 0
    for number in numbers:
        s += number
    return s/length
print(avg_numbers(10,7,5,2,7,5))
'''
结果:6.0
'''
  1. 写一个函数,默认求10的阶层,也可以求其他数的阶层
def get_even_number(n=10):
    s = 1
    for i in range(1,n+1):
        s *= i
    return s
print(get_even_number())
print(get_even_number(12))
'''
结果:
3628800
479001600
'''
  1. 写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果        operation('-', 10, 9) ---> 求 10-9的结果        operation('*', 2, 4, 8, 10) ---> 求 2*4*8*10的结构  
def cal_select(mode:str,*numbers):
    s = 0
    i = 0
    if mode=='+':
        for num in numbers:
            s += num
    elif mode=='-':
        while i < len(numbers):
            if not i:
                s = numbers[i]
                i += 1
                continue
            s -= numbers[i]
            i += 1
    elif mode=='*':
        s = 1
        for num in numbers:
            s *= num

    return s
print(cal_select('*',10,9,1))
print(cal_select('+',10,9,1))
print(cal_select('-',10,9,1))
'''
结果:
90
20
0

'''

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 还有几天就是重阳节了, 有多长时间没有陪家人了, 有多长时间没有和父母聊聊天了, 最美的重阳,美在一份孝心.......
    58同镇三甲站阅读 179评论 0 0
  • 小时同学是我的大学校友,就是有那种偶像剧中白衣少年的感觉,但是按照我高中同学的话来说,就是一个二次元的死宅。可是还...
    Doris_Murry阅读 311评论 0 0
  • 王先生第一次在夜晚观察这片竹林,他席地而坐,抱一把吉他,回头看曲径通幽处的小屋,弹唱着自己写的歌。 王先生是个有才...
    王灶灶本人阅读 411评论 0 0

友情链接更多精彩内容