Day7-作业

  1. 编写⼀个函数,求1+2+3+...+N
def sum_n(num):
    sum = 0
    for x in range(1,num+1):
        sum+=x
    return sum
num=int(input('请输入n值:'))
sum=sum_n(num)
print('1-n的和为%d'%(sum))

结果:

请输入n值:10
1-n的和为55

  1. 编写⼀个函数,求多个数中的最⼤值
def max1(*number):
    print('输入数据为:',number,sep='')
    number = list(number)
    max_num=number[0]
    for x in range(len(number)-1):
        if max_num

结果:

输入数据为:(1, 3, 546, 7657, 5, 43, 45)
多个数中的最大值为:7657

  1. 编写⼀个函数,实现摇⾊⼦的功能,打印n个⾊⼦的点数和
def dic():
    '''
制作一个骰子
    :return: 返回骰子的值
    '''
    import random
    dic_math=random.randint(1,6)
    print(dic_math)
    return dic_math
num=int(input('请输入骰子个数'))
dic_sum=0
for _ in range(num):
    dic_sum+=dic()
print('%d个骰子的和为%d'%(num,dic_sum))

结果:

请输入骰子个数5
2
6
6
2
1
5个骰子的和为17

  1. 编写⼀个函数,交换指定字典的key和value。
    例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def dict_change(dict1):
    dict2={}
    for key in dict1:
        dict2[dict1[key]]=key
    print('交换后的字典为%s'%(dict2))
dict_change({'a':1,'b':2,'c':3})

结果:

交换后的字典为{1: 'a', 2: 'b', 3: 'c'}

  1. 编写⼀个函数,三个数中的最⼤值
def max_number(num1,num2,num3):
    max_num=num1
    if num2>max_num:
        max_num=num2
    if num3>max_num:
        max_num=num3
    print('三个数中的最大值为:%d'%(max_num))
max_number(20,5,390)
max_number(200,5,39)
max_number(20,50,39)

结果:

三个数中的最大值为:390
三个数中的最大值为:200
三个数中的最大值为:50

  1. 编写⼀个函数,提取指定字符串中的所有的字⺟,然后拼接在⼀起后打印出来
    例如:'12a&bc12d--' ---> 打印'abcd'
def all_str(str1):
    str2=''
    for x in str1:
        str3=x
        if str3.isalpha():
            str2+=str3
    print('只有字母的字符串:%s'%(str2))
all_str('12a &b   c122 324 d')

结果:

只有字母的字符串:abcd

  1. 写⼀个函数,求多个数的平均值
def ave(*number):
    sum=0
    num=0
    for x in number:
        sum+=x
        num+=1
    print('多个数的平均值为%f'%(sum/num))
ave(2,4,6,5,8,9,10,33)

结果:

多个数的平均值为9.625000

  1. 写⼀个函数,默认求10的阶层,也可以求其他数的阶层
def stratum(number):
    stra=1
    for x in range(1,number+1):
        stra*=x
    print('%d的阶层为:%d'%(number,stra))
number=int(input('请输入阶层数:'))
stratum(number)

结果:

请输入阶层数:10
10的阶层为:3628800
请输入阶层数:5
5的阶层为:120

  1. 写⼀个函数,可以对多个数进⾏不同的运算
    例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
    operation('-', 10, 9) ---> 求 10-9的结果
    operation('', 2, 4, 8, 10) ---> 求 24810的结构
def operation(type,*number):
    math1=0
    math=0
    for x in number:
        if type=='+':
            if math1==0:
                math=x
            else:
                math+=x
        if type == '-':
            if math1==0:
                math=x
            else:
                math -= x
        if type == '*':
            if math1==0:
                math=x
            else:
                math*= x
        if type=='%':
            if math1==0:
                math=x
            else:
                math%=x
        if type=='//':
            if math1==0:
                math=x
            else:
                math//=x
        if type=='/':
            if math1==0:
                math=x
            else:
                math/=x
        math1+=1
    print('对多个数进行“%s”运算的值为%d'%(type,math))
operation('+',67,2,3,4)
operation('-',-67,2,3,4)
operation('*',67,2,3,4)
operation('/',67,2,3,4)
operation('//',67,2,3,4)
operation('%',67,2,3,4)

结果:

对多个数进行“+”运算的值为76
对多个数进行“-”运算的值为58
对多个数进行“*”运算的值为1608
对多个数进行“/”运算的值为2
对多个数进行“//”运算的值为2
对多个数进行“%”运算的值为1

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