2018-08-29 day8 作业

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

def sum1(N):
    count = 0
    for i in range(1,N+1):
        count += i
    return  count
print(sum1(10))
输出结果:
55

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

def maxlist(list1):
    num1 = list1[0]
    for item in list1:
        if item > num1:
            num1 = item
            continue
    return num1
list2 = [1,21,3,34,5,7]
print(maxlist(list2))
输出结果:
34
  1. 编写一个函数,实现摇骰子的功能,打印n个色子的点数和
import random
def sum_point(n):
    count = 0
    for i in range(n):
        point = random.randint(1,6)
        print('骰子点数分别为:%d'%point,sep = ' ')
        count += point
    return count
print(sum_point(3))
输出结果:
骰子点数分别为:5
骰子点数分别为:6
骰子点数分别为:5
点数和为16

4.编写一个函数,交换指定字典的key和value。例如:{'a':1,'b':2,'c':3} -->{1:'a',2:'b',3:'c'}

dict1 = {'a':1,'b':2,'c':3}
dict3 = {}
def exchange_dict(dict2:dict):
    for key in dict2:
        dict3[dict2[key]] = key
    return dict3
print(exchange_dict(dict1))
输出结果:
{1: 'a', 2: 'b', 3: 'c'}

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

def max_num(a,b,c):
    if a > b:
        if a > c:
            return a
        else:
            return c
    else:
        if b > c:
            return b

print("这三个数最大值是:%d" % max_num(2,34,13))
输出结果:
34

6.编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来 例如:'12a&bc12d--'--->'abcd'

def string(str1:str):
    str2 = ''
    for i in range(len(str1)):
        if 'a' <= str1[i] <= 'z'  or 'A' <= str1[i] <='Z':
            str2 += str1[i]
    print(str2)
string('12a&bc12d--')
输出结果:
abcd

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

def avg_num(*num):
    sum1 = 0
    for i in num:
        sum1 += i
    avg1 = sum1/len(num)
    return avg1
n = avg_num(1,4,5,7)
print("平均数是:%.2f"%n)
输出结果:
平均数是:4.25

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

def jiecheng(n = 10):
    count = 1
    for i in range(1,n +1):
        count *= i
    return count
num = jiecheng()
print("这个数的阶乘是:%d"%num)
输出结果:
这个数的阶乘是:3628800

9.写一个函数,可以对多个数进行补贴的运算
例如:operation('+',1,2,3)-->求1+2+3的结果
operation('-',9,8)-->求9-8的结果
operation('',2,4,8,10)-->求24810的结果

def operation(str1:str,*num):
    if str1 == '+':
        count1 = 0
        for i in num:
            count1 += i
        return count1
    if str1 == '-':
        nums = num[0] - num[1]
        return nums
    if str1 == '*':
        count2 = 1
        for j in num:
            count2 *= j
        return count2
num1 = operation('+',1,2,3)
num2 = operation('-',9,8)
num3 = operation('*',2,4,8,10)
print(num1,num2,num3,sep='\n')
输出结果:
6
1
640
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 编写一个函数,求1+2+3+...+N 2.编写一个函数,求多个数中的最大值 3.编写一个函数,实现摇色子的功能,...
    Deathfeeling阅读 199评论 0赞 1
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,191评论 0赞 2
  • 谨以鲜花供奉,愿见者喜悦。 容颜秀丽,身体安泰。 天南地北,所行吉昌。
    兰郡子阅读 1,154评论 3赞 9
  • LintCode题目地址给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。 一个有效的路径,指...
    只为此心无垠阅读 180评论 0赞 0
  • 早上醒来,突然想到昨晚聊天时,看到同学华发来她女儿的照片,肤若凝脂,娇滴可爱,一双大眼睛天真无邪。 于是,我转头问...
    葛芳阅读 311评论 0赞 2

友情链接更多精彩内容