Day08--课后作业

2018-10-10  本文已影响0人  zxhlcl
  1. 编写一个函数,求1+2+3+...+N
def N_add(n):
    sums=0
    for x in range(0,n+1):
        sums+=x
    return sums
print(N_add(10)) #55
  1. 编写一个函数,求多个数中的最大值
def My_max(Number_list):
    max_number=0
    for nums in Number_list:
        if nums >= max_number:
            max_number=nums
    return max_number

print(My_max([10,5,7,9,12,55,80,35])) #80
  1. 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和
def dice(n):
    sums=0
    for i in range(1,n+1):
        rand_number=random.randint(1,6)
        sums+=rand_number
        print("第{}次摇出的骰子是:{}".format(i,rand_number))
    print("所有骰子点数之和是:{}".format(sums))
dice(5)
'''
第1次摇出的骰子是:4
第2次摇出的骰子是:6
第3次摇出的骰子是:1
第4次摇出的骰子是:4
第5次摇出的骰子是:5
所有骰子点数之和是:20
'''
  1. 编写一个函数,交换指定字典的key和value。
    如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
    方法一:新建一个字典
def change_dict(dictionry):
    result={}
    for k in dictionry:
         value=dictionry[k]
         result[value]=k
    return  result

print(change_dict({"name":"james","age":18,"city":"chengdu"}))
#{'james': 'name', 18: 'age', 'chengdu': 'city'}

方法二:直接修改传递的字典

def change_key_value(dict1:dict):
    for key in dict1.copy():
        value=dict1[key]
        del dict1[key]
        dict1[value]=key
    return dict1
print(change_key_value({"name":"james","age":18,"city":"chengdu"}))
  1. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
    如:'12a&bc12d--' ---> 打印'abcd'
def alphabet_jion(string):
    col=[]
    for x in string:
        if x.isalpha():
            col.append(x)
    return ''.join(col)

print(alphabet_jion("4687sdaf*&^%&*%bcade"))  #sdafbcade
  1. 写一个函数,求多个数的平均值
def average_value(number_list):
    sums=0
    average=0
    for x in number_list:
        sums+=x
    average=sums/len(number_list)
    return  average

print(average_value([5,6,7,8,9,10])) #7.5
  1. 写一个函数,默认求10的阶层,也可以求其他数的阶层
def factorial(n=10):
    fact=1
    if n==0:fact=1
    for x in range(1,n+1):
        fact*=x
    return fact

print(factorial()) #3628800
print(factorial(n=5))#120
  1. 写一个函数,可以对多个数进行不同的运算
    如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果 operation('-', 10, 9) ---> 求 10-9的结果 operation('', 2, 4, 8, 10) ---> 求 24810的结构
def operation(symbol,*param):

    if symbol=='+':
        result = 0
        for x in param:
            result+=x
    elif symbol=='-':
        result = param[0]
        for i in range(1,len(param)):
            result-=param[i]
    elif symbol=='*':
        result = 1
        for x in param:
            result*=x
    return result

print(operation("+",1,2,3,4,5))
print(operation("-",1,2,3,4,5))
print(operation("*",1,2,3,4,5))
#15  -13   120

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

def element_count(element,element_list):
    count=0
    for x in element_list:
        if element==x:
            count+=1
    return count

print(element_count('a',['a','b','c','a',12,58,(1,2,3),[1,2,3],'a'])) #3

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

def index_count(element,element_list):
    index=[]
    for i in range(0,len(element_list)):
        if element==element_list[i]:
            index.append(i)
    return index

print(index_count('a',['a','b','c','a',12,58,(1,2,3),[1,2,3],'a']))
#[0, 3, 8]
上一篇 下一篇

猜你喜欢

热点阅读