美文网首页
Day8—作业

Day8—作业

作者: C0mpass | 来源:发表于2018-08-29 20:30 被阅读0次

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

def my_sum(n:int):
    sum1 = 0
    for i in range(n+1):
        sum1 += i
    return sum1

a = my_sum(10)
print(a)

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

list1 = [1, 8, 3, 4, 5, 2, 9, 6, 7]


def max_num(list1:list):
    max = list1[0]
    for i in range(1,len(list1)):
        if list1[i] > max:
            max =list1[i]
    return max


a = max_num(list1)
print('最大的数为:', a)

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

import random


def dice(n:int):
    sum1 = 0
    dice_num = 0
    for i in range(n):
        dice_num = random.randint(1,6)
        print('第%d个骰子的点数为:%d' % (i, dice_num))
        sum1 += dice_num
    return sum1


n = int(input('请输入骰子的数量:'))
a = dice(n)
print('%d个骰子的点数和为:%d' % (n,a))

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

def change(dict1:dict):
    dict2 = {}
    for key,val in dict1.items():
        dict2[val]=key
    return dict2


dict1 = {'a':1, 'b':2, 'c':3}
dict2 = change(dict1)
print(dict2)

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

list1 = []
for i in range(3):
    num = int(input('请输入第%d个数:' % i))
    list1.append(num)


def pick_max(list1:list):
    max = list1[0]
    for i in range(1,len(list1)):
        if list1[i] > max:
            max =list1[i]
    return max

a = pick_max(list1)
print('最大的数为:', a)

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

str1 ='12a&bc12d'


def pick_letter(str1:str):
    str2 = ''
    for i in range(len(str1)):
        if str1[i].isalpha():
            str2 += str1[i]
    return str2

str2 = pick_letter(str1)
print(str2)

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

list1 = [1, 8, 3, 4, 5, 2, 9, 6, 7]


def avg_num(list1:list):
    sum1 = 0
    for i in range(len(list1)):
        sum1 += list1[i]
    sum1 /= (i+1)
    return sum1


a = avg_num(list1)
print('平均值为:', a)

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

def factorial(n=10):
    if not n:
        pro = 1
    else:
        pro = 1
        for i in range(1,n+1):
            pro *= i
    return pro


n = input('请输入阶乘数(默认为10):')
if n == '':
    fac = factorial()
else:
    fac = factorial(int(n))
print('阶乘为:', fac)

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

def operation(str1:str, *num1):
    fist_num = int(num1[0])
    lenth = len(num1)
    if str1 == '+':
        for i in range(1,lenth):
            fist_num += num1[i]
        return fist_num
    elif str1 == '-':
        for i in range(1,lenth):
            fist_num -= num1[i]
        return fist_num
    elif str1 == '*':
        for i in range(1,lenth):
            fist_num *= num1[i]
        return fist_num
    elif str1 == '/':
        for i in range(1,lenth):
            fist_num /= num1[i]
        return fist_num
    elif str1 == '//':
        for i in range(1,lenth):
            fist_num //= num1[i]
        return fist_num
    elif str1 == '%':
        for i in range(1,lenth):
            fist_num %= num1[i]
        return fist_num
    else:
        print('无该符号的运算')

op = operation('-', 10,9)
print('结果为:', op)

相关文章

网友评论

      本文标题:Day8—作业

      本文链接:https://www.haomeiwen.com/subject/pbzkwftx.html