day7作业

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

def my_sum(n):
    """
    求1+2+3+...+N的和
    :param n: 参数,int,n的个数
    :return: 返回和
    """
    sum1 = 0
    for number in range(n):
        sum1 += number + 1

    return sum1

n = int(input('请输入N的值:'))
print(my_sum(n))

结果:

请输入N的值:10
55

2.求多个数中的最大值

def my_max(numbers):
    """
    求多个数中的最大值
    :param numbers: 参数,list,数字
    :return:
    """
    number_max = numbers[0]
    for number in numbers:
        if number>number_max:
            number_max = number

    return number_max

numbers = []
while True:
    value = input('请输入数字(输入ok退出输入模式):')
    if value == 'ok':
        break
    elif value.isdigit():
        numbers.append(int(value))
        continue
    else:
        print('输入值只能是数字!')

print('您输入的数据中最大的数字是:', my_max(numbers))

结果:

请输入数字(输入ok退出输入模式):12
请输入数字(输入ok退出输入模式):23
请输入数字(输入ok退出输入模式):1
请输入数字(输入ok退出输入模式):17
请输入数字(输入ok退出输入模式):66
请输入数字(输入ok退出输入模式):28
请输入数字(输入ok退出输入模式):34
请输入数字(输入ok退出输入模式):ok
您输入的数据中最大的数字是: 66

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

import random


def dice_count_sum(value):
    """
    随机产生色子的点数,打印n个色子点数的和
    :param value: 参数,int,色子的个数
    :return: 色子的点数和,和色子的点数的列表
    """
    dice_count = []
    sum1 = 0
    n = int(value)
    for index in range(n):
        dice_count.append(random.randint(1,6))
        sum1 += dice_count[index]

    return sum1, dice_count

n = input('请输入色子的个数:')
sum2, dice = dice_count_sum(n)
print('6个色子的点数之和是:', sum2)
print('6个色子的点数分别是:', dice)

结果:

请输入色子的个数:6
6个色子的点数之和是: 24
6个色子的点数分别是: [5, 1, 6, 2, 5, 5]

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

def dict_swap(dict1):
    """
    交换字典的key和value
    :param dict1: 参数,dict,
    :return: dict,新的字典
    """
    print(dict1)
    dict2 = {}
    for key, value in dict1.items():
        dict2[value] = key

    return dict2

dict1 = {'name': 'joe', 'age':'18', 'tel':'132'}
print(dict_swap(dict1))

结果:

{'name': 'joe', 'age': '18', 'tel': '132'}
{'joe': 'name', '18': 'age', '132': 'tel'}

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

def my_max(num1, num2, num3):
    """
    求三个数中的最大值
    :param num1: 参数1,int
    :param num2: 参数2,int
    :param num3: 参数3,int
    :return: int
    """
    number_max = num1
    if num2>number_max:
        number_max = num2
    if num3>number_max:
        number_max = num3

    return number_max

print(my_max(11, 22, 12))

结果:

22

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

def get_chars(str1):
    """
    提取指定字符串中的所有的字母,然后拼接在一起后打印出来
    :param str1: 参数,str
    :return: str
    """
    chars = ''
    for char in str1:
        if 'a'<=char<='z' or 'A'<=char<='Z':
            chars += char

    return chars

str1 = input('请输入一串字符串:')
print(get_chars(str1))

结果:

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

def get_chars(str1):
    """
    提取指定字符串中的所有的字母,然后拼接在一起后打印出来
    :param str1: 参数,str
    :return: str
    """
    chars = ''
    for char in str1:
        if 'a'<=char<='z' or 'A'<=char<='Z':
            chars += char

    return chars

str1 = input('请输入一串字符串:')
print(get_chars(str1))

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

def get_ave(numbers):
    """
    求多个数的平均值
    :param numbers: 参数,list
    :return: int
    """
    sum1 = 0
    for number in numbers:
        sum1 += number
    ave = sum1/len(numbers)

    return ave

numbers = []
while True:
    value = input('请输入数字(输入ok退出输入模式):')
    if value == 'ok':
        break
    elif value.isdigit():
        numbers.append(int(value))
        continue
    else:
        print('输入值只能是数字!')

print(get_ave(numbers))

结果:

请输入数字(输入ok退出输入模式):10
请输入数字(输入ok退出输入模式):20
请输入数字(输入ok退出输入模式):20
请输入数字(输入ok退出输入模式):30
请输入数字(输入ok退出输入模式):50
请输入数字(输入ok退出输入模式):ok
26.0

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

def my_factorial(number):
    """
    求一个数的阶乘
    :param number: 参数,int
    :return: int
    """
    result = 1
    for num in range(1, number+1):
        result *= num

    return result

number = int(input('请输入一个整数:'))
print('它的阶乘是:', my_factorial(number))

结果:

请输入一个整数:5
它的阶乘是: 120

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

def my_calculator(char, numbers):
   """
   可以对多个数进行不同的运算
   :param char: 参数1,str
   :param numbers: 参数2,list
   :return: int,float
   """

   if char == '+':
       result = 0
       for number in numbers:
           result += number
       return result

   if char == '-':
       result = numbers[0]
       for number in numbers:
           if number == numbers[0]:
               continue
           result -= number
       return result

   if char == '*':
       result = 1
       for number in numbers:
           result *= number
       return result

   if char == '/':
       result = numbers[0]
       for number in numbers:
           if number == 0:
               return '除数不能为0!'

           if number == numbers[0]:
               continue
           result /= number
       return result



numbers = []

while True:
   char = input('请输入+-*/中的一个:')
   if char in '+-*/':
       break
   print('输入有误!')

while True:
   value = input('请输入数字(输入ok退出输入模式):')
   if value.lower() == 'ok':
       if len(numbers)<2:
           print('请至少输入2个数字!')
           continue
       break
   elif value.isdigit():
       numbers.append(int(value))
       continue
   else:
       print('输入值只能是数字!')

print('结果是:', my_calculator(char, numbers))

结果:

#加法
请输入+-*/中的一个:+
请输入数字(输入ok退出输入模式):1
请输入数字(输入ok退出输入模式):2
请输入数字(输入ok退出输入模式):3
请输入数字(输入ok退出输入模式):4
请输入数字(输入ok退出输入模式):5
请输入数字(输入ok退出输入模式):ok
结果是: 15

# 减法
请输入+-*/中的一个:-
请输入数字(输入ok退出输入模式):100
请输入数字(输入ok退出输入模式):20
请输入数字(输入ok退出输入模式):10
请输入数字(输入ok退出输入模式):30
请输入数字(输入ok退出输入模式):ok
结果是: 40

# 乘法
请输入+-*/中的一个:*
请输入数字(输入ok退出输入模式):1
请输入数字(输入ok退出输入模式):2
请输入数字(输入ok退出输入模式):3
请输入数字(输入ok退出输入模式):4
请输入数字(输入ok退出输入模式):5
请输入数字(输入ok退出输入模式):ok
结果是: 120

# 除法
请输入+-*/中的一个:/
请输入数字(输入ok退出输入模式):120
请输入数字(输入ok退出输入模式):5
请输入数字(输入ok退出输入模式):4
请输入数字(输入ok退出输入模式):3
请输入数字(输入ok退出输入模式):ok
结果是: 2.0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,339评论 0 2
  • 1.写一个程序 a.用一个变量来保存一个班级的学生信息(姓名,学号,成绩(英语,美术,体育,数学),年龄)b.给这...
    RurouniKenshin阅读 306评论 0 12
  • 很喜欢第二周【创意力】主题学习的第一节课:积极主动,没有就去创造!我觉得Grace大大的是日金句:没有,就去...
    差不多小姐少女薇阅读 162评论 2 1
  • 渐渐的,她也就习惯了,如果,如果我能够出生在别的家庭,多好啊,那样的话,是不是我就不会那么累了。她不止一次的...
    寻找彼岸的方向阅读 146评论 0 0
  • 藩镇制度下,藩镇割据严重。在元和中兴之期,宪宗开始削弱藩镇势力。魏博是当时最大的藩镇,在某种意义上来说,他可以...
    琳琳琳琳ing阅读 2,201评论 0 4