python 作业18 列表1

问题:

0. Python 的列表可以容纳各种不同类型的对象,对吗?

 对 

1.请问如何创建一个空列表?

 [ ]

2.你知道什么是匿名列表吗?

 如果我们创建了一个列表,但没有将其赋值给变量名,这就是一个匿名列表。

3. 如果有一个列表 list1,有两种方法可以获取到该列表的最后一个元素,你知道分别是什么吗?

list1[len(list1) - 1] 和 list1[-1]

 

4.请问下面代码打印的结果是什么?

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

[1,2,3] 

5.请问下面代码打印的结果是什么?

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

[1,3,5]

6.请问下面代码打印的结果是什么?

>>> [5, "", 4, "", 3, "", 2, "", 1, ""][-2::-2]

[1, 2, 3, 4, 5]

 

7. 下面有两列表,请问如何将 list2 列表中的全部元素,添加到 list1 列表中第 2 和第 3 个元素的中间。

>>> list1 = [1, 2, 8, 9]
>>> list2 = [3, 4, 5, 6, 7]
 list1 = list1[:2] + list2 + list1[2:]
 print(list1)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

 

动动手:

0.给定一个整数列表 nums 和一个目标值 target,请在该数组中找出和为目标值的两个元素,并将它们的数组下标值打印出来。

nums = [2, 7, 11, 15]
target = 9

n = len(nums)
for i in range(n):
    for j in range(i+1, n):
        if nums[i] + nums[j] == target:
            print([i, j])

 

 

1.这次我们想让用户自己来录入 nums 和 target 的数据,请修改上一题的代码,让程序实现如下:

 

nums = []

isInput = True
while isInput == True:
x = input("请录入一个整数(输入STOP结束):")
if x != "STOP":
nums.append(int(x))
else:
isInput = False

target = int(input("请录入目标整数:"))

isFind = False
n = len(nums)
for i in range(n):
for j in range(i+1, n):
if nums[i] + nums[j] == target:
print([i, j])
isFind = True

if isFind == False:
print("找不到!")

 

 2.最后,回忆前面我们学习过的 random 模块,生成一个由 10000 个整数(范围是 1 ~ 65535)构成的随机列表,目标值 target 由用户输入.

 

import random

nums = []

for i in range(10000):
x = random.randint(1, 65535)
nums.append(x)

target = int(input("请录入目标整数:"))

isFind = False
n = len(nums)
for i in range(n):
for j in range(i+1, n):
if nums[i] + nums[j] == target:
print([i, j])
isFind = True

if isFind == False:
print("找不到!")

 

posted @ 2022-07-02 20:27  DICEi  阅读(67)  评论(0)    收藏  举报