day08-作业

day08-作业

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

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


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


n = int(input('请输入n值:'))
print('和为%d'%(sum1(n)))

结果:


1.png

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

def find_max(*num):
    max_value = num[0]
    for index in range(1, len(num)):
        if num[index] > max_value:
            max_value = num[index]
    return max_value


print("(1, 2, 4, 5, 57, 2, 5, 9)中的最大值是;%d"%(find_max(1, 2, 4, 5, 57, 2, 5, 9)))

结果:


2.png

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

# 摇色子产生点数:
def shake_dice():
    import random
    return random.randint(1, 6)


dices = int(input('请输入色子的个数:'))
points = 0
for x in range(dices):
    points += shake_dice()
print('%d个色子的点数和为%d'%(dices, points))

结果:


3.png

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

# 例如,{'a':1,'b':2,'c':3}---{1:'a',2:'b',3:'c'}
def exchange_key_value(dict1: dict):
    for key in dict1:
        temp = key
        key = dict1[temp]
        del dict1[temp]
        dict1[key] = temp
    return dict1


print(exchange_key_value({'a': 1, 'b': 2, 'c': 3}))

结果:


4.png

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

def find_max(num1, num2, num3):
    max_value = num1
    for num in (num2, num3):
        if num > max_value:
            max_value = num
    return max_value


print('三个数中的最大值为:%d'% find_max(2, 45, -13))

结果:


5.png

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

# 例如:‘12a&bc12d--’----- 打印‘abcd’
def find_letter(str1):
    new_str = ''
    for letter in str1:
        if 'a'<=letter<='z' or 'A'<=letter<='Z':
            new_str += letter
    return new_str


print(find_letter('12a&bc12d--'))

结果:


6.png

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

def average(*nums):
    sum1 = 0
    for num in nums:
        sum1 += num
    return sum1 / len(nums)


print('(23,34,556)的平均值为:%.2f' % (average(1, 2, 3)))

结果:


7.png

8、写一个函数,默认求10的阶乘,也可以求其他数的阶乘;

def jiecheng(n=10):
    result = 1
    for x in range(1, n+1):
        result *= x
    return result


print(jiecheng(),jiecheng(11))

结果:


8.png

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

"""
operation('+', 1, 2, 3)----求1+2+3的结果
operation('-', 10, 9)----求10-9的结果
operation('*', 1, 2, 3)----求1*2*3的结果
"""
def operation(str1,*nums):
    if str1 == '+':
        result = 0
        for num in nums:
            result += num
    elif str1 == '-':
        result = nums[0]
        for index in range(1, len(nums)):
            result -= nums[index]
    elif str1 == '*':
        result = 1
        for num in nums:
            result *= num
    elif str1 == '/':
        result = nums[0]
        for index in range(1, len(nums)):
            result /= nums[index]
    return result


print('多个数相加的结果为:%.2f'%operation('+', 1, 2, 3))
print('多个数相减的结果为:%.2f'%operation('-', 1, 2, 3))
print('多个数相乘的结果为:%.2f'%operation('*', 2, 4, 8))
print('多个数相除的结果为:%.2f'%operation('/', 3, 2, 1))

结果:


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

相关阅读更多精彩内容

友情链接更多精彩内容