2018-08-29 Day8 函数作业

题目

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

def sum2 (n):
     sum1=0
     for x in range(n+1):
         sum1+=x
     return sum1
print(sum2(9))

结果为:45

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

def max2 (list1:list):
    y=0
    for x in list1[:]:
        if x>y:
            y=x
    return y

max=max2([3,5,2,99,7,9,0])
print(max)

结果为:99

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

import random
def ysz_sum(n):
    number1=0
    print('分别为:',end=" ")
    for _ in range(n):
        number = random.randint(1, 6)
        print(number,end=' ')
        number1+=number
    print("\n%d个筛子和为:%d"%(n,number1))
    return number1
cc=ysz_sum(int(input("多少个骰子?")))
print("return的值为:%d"%(cc))

结果

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

def key_value (kv1):
    dic1=dic2={}  #定义两个空字典
    for x in kv1: #循环得到字典kv1的key值
        dic1=kv1[x] #把kv1中key_x对应的值 赋给空字典dic1
        dic2[dic1]=x #在空字典dic2中添加元素 以dic1为key键 添加x(为key键)值
    return dic2
print("原字典为:{1:'a',2:'b',3:'c]'}")
sum=key_value({'a':1,'b':2,'c':3})
print("新字典为:",end='')
print(sum)

结果

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

def three_max (a,b,c):
    if (a>b)and(a>c):
        return a
    elif(b>c)and(b>a):
        return b
    else:
        return c
sum=three_max(8,99,7)
print(sum)

结果为:99

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

def str1_sum (str1):
    sum1=''
    for x in str1:
        if 'a'<=x<='z' or 'A'<=x<='Z':
            sum1+=x
    return sum1

ftr=str1_sum('12a&bc12d')
print(ftr)

结果为:abcd

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

def pg_num (list1:list):
    pg=0
    sum1=0
    for x in range(len(list1)):
        pg=list1[x]/2
        print("%d的平均值为%.2f"%(list1[x],pg))
        sum1+=x
        sum1

pg_num([3,6,1,7,8,2,9])
"""
3的平均值为1.50
6的平均值为3.00
1的平均值为0.50
7的平均值为3.50
8的平均值为4.00
2的平均值为1.00
9的平均值为4.50

"""

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

def j_chen(a=10):
    b=1
    for x in range(1,a+1):
        b*=x
    return b

sum=j_chen()
print(sum)

结果为:3628800

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

def sum_operation (str1,*nums):
    nums1=0
    nums2=1
    nums3=0
    if str1[0]=='+':
        for x in str1[1:len(str1)]:
            nums1+=x
        print(nums1)
    if str1[0]=='*':
        for x in str1[1:len(str1)]:
            nums2*=x
        print(nums2)
    if str1[0]=='-':
        for x in str1[1:len(str1)]:
            nums3=str1[1]
            nums3-=x
        print(nums3)

sum_operation(['+',2,5,8,10])

结果为:25

你可能感兴趣的:(2018-08-29 Day8 函数作业)