美文网首页
day09、作业 2019-01-04

day09、作业 2019-01-04

作者: 绝世小丑 | 来源:发表于2019-01-05 00:29 被阅读0次

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

解:



def sum_plus():
    """求 1 到 N 的累加"""
    n = int(input('请输入一个正整数:'))
    sum1 = 0
    i = 0
    while i <= n:
        sum1 += i
        i += 1
    print('由 1 到 N 的累加值为:')
    return sum1


print(sum_plus())

运行结果:

请输入一个正整数:10
由 1 到 N 的累加值为:
55

2. 编写⼀个函数,求多个数中的最⼤值

解:

def max_plus(*nums1, **nums2):
    ""求多个数中的最⼤值"""
    i = 0
    max1 = nums1[i]
    while i < len(nums1):
        num1 = nums1[i]
        if max1 < num1:
            max1 = num1
        i += 1
    for j in nums2:
        num2 = int(nums2[j])
        if max1 < num2:
            max1 = num2
    print('这几个数里最大的数为:', max1)
    return max1


print(max_plus(1, 2, 3, 4, 5, a=6, d=7, c=8))

运行结果:

这几个数里最大的数为:8
8

3. 编写⼀个函数,实现摇⾊⼦的功能,打印n个⾊⼦的点数和

解:



def shai_zi():
    """打印n个色子的点数和"""
    print('已经进入掷色子游戏。')
    import random  # 导入 random 模块。
    sum1 = 0
    item = 0
    n = int(input('请输入色子数:'))
    while n > 0:
        item += 1
        num1 = random.randint(1, 6)  # 产生一个 1 ~ 6 的随机整数。
        print('第 %d 个色子的点数为:' % item, num1)
        sum1 += num1
        n -= 1
    print('所有色子的点数和为:')
    return sum1


print(shai_zi())

运行结果:

已经进入掷色子游戏。
请输入色子数:3
第 1 个色子的点数为: 6
第 2 个色子的点数为: 6
第 3 个色子的点数为: 6
所有色子的点数和为:
18

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

例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
解:



# 遍历字典的时候,字典的长度不能发生改变,不然会报错。
# 如果遍历字典后,对字典的操作会改变字典长度,那就不要直接遍历字典,而是遍历字典的 copy 。
def change_plus(dict1: dict):
    for key in dict1.copy:
        value = dict1[key]
        dict1[value] = key
    return dict1



def change(dict1=dict):
    """交换字典的 key 和 value 值"""
    print('原字典为:\n', dict1)
    dict2 = {}
    for i in dict1:
        str1 = dict1[i]
        dict2[str1] = i
    print('交换后的字典为:')
    return dict2


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

运行结果:

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

5. 编写⼀个函数,求三个数中的最⼤值

解:



def max_plus():
    """求三个数中的最⼤值"""
    print('请输入三个数:')
    i = 0
    list1 = []
    while i < 3:
        i += 1
        num1 = int(input('第 %d 个数:' % i))
        list1.append(num1)
    j = 0
    max1 = list1[j]
    while j < len(list1):
        num2 = list1[j]
        if max1 < num2:
            max1 = num2
        j += 1
    print('这三个数里,最大的值为:')
    return max1


print(max_plus())

运行结果:

请输入三个数:
第 1 个数:2
第 2 个数:4
第 3 个数:6
这三个数里,最大的值为:
6

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

例如:'12a&bc12d--' ---> 打印'abcd'
解:

def qu_zi_mu(string1):
    """取出所有的字母,然后拼接在⼀起后打印出来"""
    str2 = ''
    for str1 in string1:
        if ord('a') <= ord(str1) <= ord('z'):
            str2 += str1
        elif ord('A') <= ord(str1) <= ord('Z'):
            str2 += str1
    print('字符串中所有的字母有:', str2)
    return str2
# 97 - 122;65 - 90


qu_zi_mu('adc123+-*&|^ADC阿黄')

运行结果:

字符串中所有的字母有: adcADC

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

解:

def pjz_plus(*tuple1, **dict1):
    """求多个数的平均值"""
    i = 0
    k = 0
    sum1 = 0
    while i < len(tuple1):
        sum1 += int(tuple1[i])
        i += 1
    for j in dict1:
        x = dict1[j]
        sum1 += x
        k += 1
    num1 = i + k
    print('一共有 %d 个数字,' % num1, '平均值为:', sum1 / num1)


pjz_plus(1, 2, 3, a=4, b=5)

运行结果:

一共有 5 个数字, 平均值为: 3.0

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

解:

def jc_plus(n=10):
    """默认求10的阶层,也可以求其他数的阶层"""
    i = 0
    num1 = 1
    while i < n:
        i += 1
        num1 *= i
    print(' %d 的阶乘为:' % n)
    return num1


print(jc_plus())
print(jc_plus(5))

运行结果:

 10 的阶乘为:
3628800
 5 的阶乘为:
120

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

例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
operation('-', 10, 9) ---> 求 10-9的结果
operation('', 2, 4, 8, 10) ---> 求 24810的结果
解:

def ys_plus(*tuples):
    """可以对多个数进行不同的运算"""
    chr1, *nums = tuples
    if chr1 == '+':
        num1 = 0
        i = 0
        while i < len(nums):
            num1 += nums[i]
            i += 1
        print('加法运算结果为:', num1)
    elif chr1 == '-':
        num2 = nums[0] * 2
        for i in nums:
            num2 -= i
        print('减法运算结果为:', num2)
    elif chr1 == '*':
        num3 = 1
        for i in nums:
            num3 *= i
        print('乘法运算结果为:', num3)
    elif chr1 == '/':
        num4 = nums[0] ** 2
        i = 0
        while i < len(nums):
            num4 /= nums[i]
            i += 1
        print('除法运算结果为:', num4)
    else:
        print('暂不支持此运算。')


ys_plus('+', 2, 4, 6)
ys_plus('-', 2, 4, 6)
ys_plus('*', 2, 4, 6)
ys_plus('/', 2, 4, 0.1)

运行结果:

加法运算结果为: 12
减法运算结果为: -8
乘法运算结果为: 48
除法运算结果为: 5.0

相关文章

  • day09、作业 2019-01-04

    1. 编写⼀个函数,求1+2+3+...+N 解: 运行结果: 2. 编写⼀个函数,求多个数中的最⼤值 解: 运行...

  • Day09作业

    import random 1. 编写一个函数,求1+2+3+...+N 2. 编写一个函数,求多个数中的最大值 ...

  • Day09作业

    1. 编写一个函数,求1+2+3+...+N 2.编写一个函数,求多个数中的最大值 3. 编写一个函数,实现摇骰...

  • Day09 - 作业

    一、作业:类 Fabric 主机管理程序开发 类 Fabric 主机管理程序开发: 运行程序列出主机组或者主机列表...

  • day09 作业

    1. 编写一个函数,求1+2+3+...+N 2. 编写一个函数,求多个数中的最大值 3. 编写一个函数,实现摇色...

  • day09、函数 2019-01-04

    一、复习 0.列表(list) [元素1, 元素2, 元素3···] [元素]可变、有序元素可以...

  • 自律给我自由—Day009

    【叶子姑娘的自律100天挑战 Day09】 2019.01.23 Day09/100 【早起】第十二天早起。 【阅...

  • 认识函数

    DAY09 认识函数,基本用法和进阶用法 【回顾目标】 001、制定今天的学习计划 002、完成一字群的作业 00...

  • 2019-01-04

    2019-01-04桓台台姜博士眼镜商迎新 2019-01-04 桓台姜博士眼镜商迎新 姜博士眼镜商迎新。大家好!...

  • Day09‖冰冰‖记忆作业

    不知不觉学习到第9天,把整本书看完了。 这章节有句话特别打动我:这是可以给别人带来美好未来的行业。 我也希望自己可...

网友评论

      本文标题:day09、作业 2019-01-04

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