美文网首页
day5作业2

day5作业2

作者: HavenYoung | 来源:发表于2018-07-21 11:15 被阅读0次

1.已知一个列表,求列列表中心元素。
列表中元素为偶数

list1 = [1, 2, 3, 4, 5, 6]
length = len(list1)
if length%2:
    print('中心元素是:', list1[int((length-1)/2)])
else:
    print('中心元素是:', list1[int(length/2-1)], '和', list1[int(length/2)])

结果:

中心元素是: 3 和 4

列表中元素为奇数

list1 = [1, 2, 3, 4, 5]
length = len(list1)
if length%2:
    print('中心元素是:', list1[int((length-1)/2)])
else:
    print('中心元素是:', list1[int(length/2-1)], '和', list1[int(length/2)])

结果:

中心元素是: 3 

2.已知一个列表,求所有元素和。

# 列表内元素类型为整型
list1 = [1, 2, 3, 4, 5]
sum1 = 0
for number in list1:
    sum1 += number

print('列表1的和是:', sum1)

# 列表内元素类型为字符串且为数字
list2 = ['1', '2', '3', '4', '5']
sum2 = 0
for item in list2:
    sum2 += int(item)

print('列表2的和是:', sum2)

结果:

列表1的和是: 15
列表2的和是: 15

3.已知一个列表,输出所有奇数下标元素。

list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = []
for index in range(len(list1)):
    if index%2:
        list2.append(list1[index])

print('列表1中下标为奇数的元素的集合是:', list2)

结果:

列表1中下标为奇数的元素的集合是: [2, 4, 6]

4.已知一个列表,输出所有元素中,值为奇数的。
(列表中元素为字符串类型的数字时,需要做类型转换,参照第2题)

list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = []
for item in list1:
    if item%2:
        list2.append(item)

print('列表1中为奇数的元素的集合是:', list2)

结果:

列表1中为奇数的元素的集合是: [1, 3, 5, 7]

5.已知一个列表,将所有元素乘二。
(列表中元素为字符串类型的数字时,需要做类型转换,参照第2题)

list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = []
for item in list1:
    list2.append(item*2)

print('列表1中所有元素乘以2之后的结果是:', list2)

结果:

列表1中所有元素乘以2之后的结果是: [2, 4, 6, 8, 10, 12, 14]

6.已知一个列表,将所有元素加到第一个元素中。

list1 = [1, 2, 3, 4, 5, 6, 7]
list1[0] = [list1[0]]
for item in list1:
    if item==list1[0]:
        pass
    else:
        list1[0].append(item)

print(list1)

结果:

[[1, 2, 3, 4, 5, 6, 7], 2, 3, 4, 5, 6, 7]

7.已知一个列表A,将奇数位置元素存到B列表中,偶数元素存到C列表中。
(列表中元素为字符串类型的数字时,需要做类型转换,参照第2题)

list_A = [1, 2, 3, 4, 5, 6, 7]
list_B = []
list_C = []
for number in list_A:
    if number%2:
        list_B.append(number)
    else:
        list_C.append(number)

print('list_B', list_B)
print('list_C', list_C)

结果:

list_B [1, 3, 5, 7]
list_C [2, 4, 6]

8.把A列表的前5个元素复制到B列表中。

list_A = [1, 2, 3, 4, 5, 6, 7]
list_B = list_A[0:5]
print('list_B:', list_B)

结果:

list_B: [1, 2, 3, 4, 5]

9.把1----36分别放入列表中,计算列表数组对角元素之和。6 * 6的列表

list1 = []
for index1 in range(6):
    list2 = []
    for index2 in range(index1*6+1, (index1+1)*6+1):
        list2.append(index2)

    list1.append(list2)

print(list1)

sum = 0
for index3 in range(6):
    sum += list1[index3][index3]
    sum += list1[index3][5-index3]

print('对角线上的元素之和:', sum)

结果:

[[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]]
对角线上的元素之和: 222

10.有一个长度是10的列表,列表内 有10个不重复的数字,要求按从大到小排序。

import random

list1 = []
count = 0
while True:
    num_random = random.randint(1,10)
    if not num_random in list1:
        list1.append(num_random)
        count += 1
        if count == 10:
            break

print(list1)

length = len(list1)
for index1 in range(length-1):
    for index2 in range(index1+1, length):
        if list1[index1]<list1[index2]:
            list1[index1] = list1[index1] + list1[index2]
            list1[index2] = list1[index1] - list1[index2]
            list1[index1] = list1[index1] - list1[index2]

print(list1)

结果:

[7, 1, 6, 4, 2, 5, 8, 10, 3, 9]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

11.有一个长度是10的列表,要求删除某一个位置的元素

import random

list1 = []
count = 0
while True:
    num_random = random.randint(1,10)
    if not num_random in list1:
        list1.append(num_random)
        count += 1
        if count == 10:
            break

print(list1)

index = int(input('请输入要删除的数据的下标:'))
del list1[index]
print('删除数据后的列表:', list1)

结果:

[3, 7, 1, 10, 2, 8, 9, 6, 4, 5]
请输入要删除的数据的下标:1
删除数据后的列表: [3, 1, 10, 2, 8, 9, 6, 4, 5]

12.有一个长度是10的列表,按递增排列,用户输入一个数,插入适当位置。

import random

list1 = []
count = 0
while True:
    num_random = random.randint(1,10)
    if not num_random in list1:
        list1.append(num_random)
        count += 1
        if count == 10:
            break

length = len(list1)
for index1 in range(length-1):
    for index2 in range(index1+1, length):
        if list1[index1]>list1[index2]:
            list1[index1] = list1[index1] + list1[index2]
            list1[index2] = list1[index1] - list1[index2]
            list1[index1] = list1[index1] - list1[index2]

print(list1)

value = int(input('请输入要插入的数据:'))

for index3 in range(length):
    if value<=list1[index3]:
        list1.insert(index3, value)
        break
    elif value>list1[-1]:
        list1.append(value)
        break

print('插入数据后的列表:', list1)

结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
请输入要插入的数据:2
插入数据后的列表: [1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10]

当输入数据大于列表中所有数据时

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
请输入要插入的数据:111
插入数据后的列表: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 111]

13.有一个长度是10的列表,数 组内有10个人名,要求去掉重复的

def de_duplication(list):
    dedup_list = []
    for word in list:
        if not word in dedup_list:
            dedup_list.append(word)

    return dedup_list
list1 = ['脑斧', '脑斧', '嘤嘤怪', '嘤嘤怪', '我', 'me', 'me', 'me', '脑斧', '脑斧']
print(de_duplication(list1))

结果:

['脑斧', '嘤嘤怪', '我', 'me']

14.把A列表的第三到第六位之间的元素删除。

list_A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
del list_A[3:5]
print(list_A)

结果:

[1, 2, 3, 6, 7, 8, 9, 10]

15.已知A列表,B列表,定义⼀一个列表C,要求C包含A,B数组中的数据(无重复值)。

list_A = [1, 2, 3, 4, 5, 6, 7, 18, 19]
list_B = [1, 2, 3, 14, 15, 16, 17, 18, 19]
list_C = []

for number1 in list_A:
    if not number1 in list_C:
        list_C.append(number1)

for number2 in list_B:
    if not number2 in list_C:
        list_C.append(number2)

print(list_C)

结果:

[1, 2, 3, 4, 5, 6, 7, 18, 19, 14, 15, 16, 17]

使用循环完成一个简单的增删改查:

page1 = ['-----Welcome to Page Turn-----', '1.进入dota', '2.进入dnf', '输入“exit”退出']
cmd_page1 = ['1', '2']
page_dota = ['-----Welcome to Page dota-----', '小小', '卡尔', '输入"back"返回上一级', '输入"add"添加信息', '输入"update"修改信息', '输入"del"删除信息', '输入“exit”退出']
cmd_dota = ['1', '2']
info_dota = ['我只会vt二连!', '孤儿卡尔!injoker!']
page_dnf = ['-----Welcome to Page  dnf-----', '萌道', '逗萝', '输入"back"返回上一级', '输入"add"添加信息', '输入"update"修改信息', '输入"del"删除信息', '输入“exit”退出']
cmd_dnf = ['1', '2']
info_dnf = ['萌道才不是下水道!', '进图死,谢谢!']

while True:
    for item in page1:
        print(item)

    user_cmd = input('请输入指令:')
    if user_cmd=='1':
        while True:
            for index_dota_list in range(len(page_dota)):
                if index_dota_list==0:
                    print(page_dota[0])
                elif index_dota_list<=len(cmd_dota):
                    print(cmd_dota[index_dota_list-1]+'.'+page_dota[index_dota_list])
                else:
                    print(page_dota[index_dota_list])

            user_cmd = input('请输入指令:')
            for index_dota in range(len(cmd_dota)):
                if user_cmd==cmd_dota[index_dota]:
                    print('=' * 20)
                    print(info_dota[index_dota])
                    print('=' * 20)
            if user_cmd == 'back':
                break
            elif user_cmd == 'add':
                name = input('请输入dota人物名称:')
                page_dota.insert(len(page_dota) - 5, name)
                info = input('请输入%s的介绍:' % name)
                info_dota.append(info)
                cmd_dota.append(str(len(cmd_dota)+1))
            elif user_cmd=='del':
                delete_name = input('请输入要删除的信息的id:')
                for index_del in range(len(cmd_dota)):
                    if delete_name==cmd_dota[index_del]:
                        cmd_dota.pop()
                        del page_dota[index_del+1]
                        del info_dota[index_del]
                        break
            elif user_cmd=='update':
                update_name = input('请输入要修改的信息的id:')
                for index_update in range(len(cmd_dota)):
                    if update_name == cmd_dota[index_update]:
                        name_new = input('请输入新的名字:')
                        page_dota[index_update+1] = name_new
                        info_new = input('请输入新的信息:')
                        info_dota[index_update] = info_new
                        break
            elif user_cmd == 'exit':
                    exit(0)
            elif not user_cmd in cmd_dota:
                    print('=' * 20)
                    print('输入指令有误!')
                    print('=' * 20)
    elif user_cmd=='2':
        while True:
            for index_dnf_list in range(len(page_dnf)):
                if index_dnf_list==0:
                    print(page_dnf[0])
                elif index_dnf_list<=len(cmd_dnf):
                    print(cmd_dnf[index_dnf_list-1]+'.'+page_dnf[index_dnf_list])
                else:
                    print(page_dnf[index_dnf_list])

            user_cmd = input('请输入指令:')
            for index_dnf in range(len(cmd_dnf)):
                if user_cmd == cmd_dnf[index_dnf]:
                    print('=' * 20)
                    print(info_dnf[index_dnf])
                    print('=' * 20)
            if user_cmd == 'back':
                break
            elif user_cmd == 'add':
                name = input('请输入dnf人物名称:')
                page_dnf.insert(len(page_dnf) - 5, name)
                info = input('请输入%s的介绍:' % name)
                info_dnf.append(info)
                cmd_dnf.append(str(len(cmd_dnf)+1))
            elif user_cmd=='del':
                delete_name = input('请输入要删除的信息的id:')
                for index_del in range(len(cmd_dnf)):
                    if delete_name == cmd_dnf[index_del]:
                        cmd_dnf.pop()
                        del page_dnf[index_del + 1]
                        del info_dnf[index_del]
                        break
            elif user_cmd=='update':
                update_name = input('请输入要修改的信息的id:')
                for index_update in range(len(cmd_dnf)):
                    if update_name==cmd_dnf[index_update]:
                        name_new = input('请输入新的名字:')
                        page_dnf[index_update+1] = name_new
                        info_new = input('请输入新的信息:')
                        info_dnf[index_update] = info_new
                        break
            elif user_cmd == 'exit':
                exit(0)
            elif not user_cmd in cmd_dnf:
                print('=' * 20)
                print('输入指令有误!')
                print('=' * 20)
    elif user_cmd=='exit':
        break
    else:
        print('=' * 20)
        print('输入指令有误!')
        print('=' * 20)

结果:

-----Welcome to Page Turn-----
1.进入dota
2.进入dnf
输入“exit”退出
请输入指令:1
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:1
====================
我只会vt二连!
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:2
====================
孤儿卡尔!injoker!
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:3
====================
输入指令有误!
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:back
-----Welcome to Page Turn-----
1.进入dota
2.进入dnf
输入“exit”退出
请输入指令:1
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:add
请输入dota人物名称:萨尔
请输入萨尔的介绍:沉默
-----Welcome to Page dota-----
1.小小
2.卡尔
3.萨尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:3
====================
沉默
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
3.萨尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:update
请输入要修改的信息的id:3
请输入新的名字:宙斯
请输入新的信息:人头
-----Welcome to Page dota-----
1.小小
2.卡尔
3.宙斯
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:3
====================
人头
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
3.宙斯
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:del
请输入要删除的信息的id:3
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:exit

Process finished with exit code 0

相关文章

  • 125-苏小娴 DAY5作业 #裂变增长实验室#

    DAY5 今日作业: 填写自己的用户画像。 作业如下: 【用户画像】 一、基本情况 1.用户对象职业:无限定 2....

  • day5作业2

    1.已知一个列表,求列列表中心元素。列表中元素为偶数 结果: 列表中元素为奇数 结果: 2.已知一个列表,求所有元...

  • Day5 作业2

    1.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? 2. 古典问题:有...

  • Python基础 - 练习1

    day5作业解答 1.斐波那契数列 2.求100~200中间的素数 4. 5. day6 - 作业 1. age ...

  • 碗米恩,斗米仇

    【第三期写作训练营DAY5】 【课程内容】 8月2日 标题是「脸」,大纲是「骨」 【作业内容】 作业:写1篇观点文...

  • 观点文大纲

    【第三期写作训练营DAY5】 【课程内容】 8月2日 标题是「脸」,大纲是「骨」 【作业内容】 作业:写1篇观点文...

  • 【日更165】

    一、今日回顾 青蛙完成情况:1.第一期晨读私塾day4(阅读+作业)❌2.第一期晨读私塾day5(阅读+作业)❌3...

  • Day5如何提高选书能力

    DAY5 学习课程:《Day5 :如何建立产品感,提高书籍选品能力,从新出版的书籍里挑出高价值读物》 今日作业:预...

  • 清单体读书笔记

    今日作业打卡day5: ①500字的内容 ②根据你的问题写一篇清单体读书笔记 ※※※※※※※※今日作业※※※※※※...

  • 班训营二期 - DAY5学姐反馈

    DAY5 作业 1.你是否会设置“副班长”和“班级智囊团”?如果设置,你将如何借助他们更好地建设班级呢? 2.为闭...

网友评论

      本文标题:day5作业2

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