zzy
8-python作业--极简主义

8-python作业--极简主义


        

下期预告:大抵是会围绕规范与注释展开的.

Release

  • Setup
  • 安装包下载的文件默认在桌面上.

        

例题

例 4-1

用户分别从键盘输入4个整数和3个整数组成列表list1和list2;

将列表list2合并到list1中;

在list1末尾再添加两个数字90和100;

对list1降序排列,最后输出最终的列表list1。

  1. 正常作业:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #example4_1.py
    #coding=utf-8
    list1 = list(range(10, 0, -1))
    print("原来序列:", list1)

    list2 = list1[::2]
    list2.sort()
    list1[::2] = list2
    print("偶数下标升序:", list1)
  2. 我的:

    1
    2
    3
    print("原来序列:", list1:=list(range(10, 0, -1)))  
    list1[::2] = sorted(list1[::2])
    print("偶数下标升序:", list1)

例 4-3

某公司股票一段时间的收盘价(单位:元)分别为:12.04, 11.15, 13.47, 13.58, 12.04, 12.04 , 11.15, 12.58, 11.15, 请建立一个列表(data)存储这些数据。请编写程序解决以下问题:

  1. 上述一共有几个数据?

  2. 统计收盘价为12.04元的次数

  3. 找出收盘价中的最小数据,并删除首次出现的最小数据,最后显示列表data。

  1. 正常作业:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #example4_3.py
    #coding=utf-8
    data = [12.04, 11.15, 13.47, 13.58, 12.04, 12.04, 11.15, 12.58, 11.15]

    print("共有" + str(len(data)) + "个数据,分别为:", data)
    print("收盘价为12.04元的次数:", data.count(12.04))
    x = min(data)
    print("收盘价中最小数据:", x)
    data.remove(x)
    print("删除首次出现的最小数据后的列表:", data)
  2. 我的:

    1
    2
    data = [12.04, 11.15, 13.47, 13.58, 12.04, 12.04, 11.15, 12.58, 11.15]
    print("共有" + str(len(data)) + "个数据,分别为:", data);print("收盘价为12.04元的次数:", data.count(12.04));x = min(data);print("收盘价中最小数据:", x);data.remove(x);print("删除首次出现的最小数据后的列表:", data)

    假装简化了吧()

作业

练 8-1

从键盘依次输入多个正整数(每次输入一个)构成一个列表,输入-1表示结束,并且-1不添加到列表中。输出此列表,分别计算并输出列表中奇数和偶数的和。

  1. 正常作业

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #exercise8_1.py
    #coding=utf-8

    list1 = []
    print('请输入数字构建一个包含10个奇数的列表')
    while len(list1) < 10:
    a = int(input('请输入数字:'))
    if int(a) % 2 == 1:
    list1.append(int(a))
    else:
    print('输入的不是奇数!!!')
    print('列表为:\t',list1)
    print('和:\t',sum_1:=sum(list1))
    print('平均值:\t',sum_1/10)
  2. 我的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        # 8-1
    list1 = []
    print('请输入数字构建一个包含10个奇数的列表')
    while len(list1) < 10:
    a:int = input('请输入数字:')
    try:
    if int(a) % 2 == 1:
    list1.append(int(a))
    else:
    print(f'输入的不是奇数!!!')
    except:
    print(f'输入的不是奇数!!!')
    print(f'列表为:\t{list1}')
    print('和:',sum_1:=sum(list1),sep='\t')
    print(f'平均值:\t{sum_1/10}')

练 8-2

删除列表list1中出现的第一个能被7整除的数字,打印出列表list1。

  1. 正常作业

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #exercise8_2.py
    #coding=utf-8

    list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]

    for i in list1:
    if i % 7 == 0:
    list1.remove(i)
    print("删除第一个能被7整除的数字后的列表为:", list1)
    break
    else:
    print("没有能被7整除的数字!")
  2. 我的

    1
    2
    3
    4
    5
    6
    7
    # 8-2
    list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
    try:
    list1.pop(next(i for i, num in enumerate(list1) if num % 7 == 0))
    print("删除第一个能被7整除的数字后的列表为:", list1)
    except StopIteration:
    print("没有能被7整除的数字!")

练 8-3

删除列表list1中出现的第一个能被7整除的数字,打印出列表list1。

  1. 正常作业

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #exercise8_3.py
    #coding=utf-8
    list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]

    for i in range(len(list1)):
    if list1[i] % 7 == 0:
    del list1[i]
    print("删除第一个能被7整除的数字后的列表为:", list1)
    break
    else:
    print("没有能被7整除的数字!")
  2. 我的

    1
    2
    3
    4
    5
    6
    list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
    try:
    del list1[next(i for i, num in enumerate(list1) if num % 7 == 0)]
    print("删除第一个能被7整除的数字后的列表为:", list1)
    except StopIteration:
    print("没有能被7整除的数字!")

提交作业

  1. 正常作业:(打包文件在文章开头处setup)
    Download example4_1py
    Download example4_3py
    Download exercise8_1.py
    Download exercise8_2.py
    Download exercise8_3.py

  2. 我的:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    # 4-1
    print("原来序列:", list1:=list(range(10, 0, -1)))
    list1[::2] = sorted(list1[::2])
    print("偶数下标升序:", list1)

    list2 = list1[::2]
    list2.sort()
    list1[::2] = list2
    print("偶数下标升序:", list1)

    # 4-3
    data = [12.04, 11.15, 13.47, 13.58, 12.04, 12.04, 11.15, 12.58, 11.15]
    print("共有" + str(len(data)) + "个数据,分别为:", data);print("收盘价为12.04元的次数:", data.count(12.04));x = min(data);print("收盘价中最小数据:", x);data.remove(x);print("删除首次出现的最小数据后的列表:", data)

    # 8-1
    list1 = []
    print('请输入数字构建一个包含10个奇数的列表')
    while len(list1) < 10:
    a:int = input('请输入数字:')
    try:
    if int(a) % 2 == 1:
    list1.append(int(a))
    else:
    print(f'输入的不是奇数!!!')
    except:
    print(f'输入的不是奇数!!!')
    print(f'列表为:\t{list1}')
    print('和:',sum_1:=sum(list1),sep='\t')
    print(f'平均值:\t{sum_1/10}')

    # 8-2
    list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
    try:
    list1.pop(next(i for i, num in enumerate(list1) if num % 7 == 0))
    print("删除第一个能被7整除的数字后的列表为:", list1)
    except StopIteration:
    print("没有能被7整除的数字!")

    # 8-3
    list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
    try:
    del list1[next(i for i, num in enumerate(list1) if num % 7 == 0)]
    print("删除第一个能被7整除的数字后的列表为:", list1)
    except StopIteration:
    print("没有能被7整除的数字!")
本文作者:zzy
本文链接:http://周梓煜.com/2024/04/25/school-hhw-8-python/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可