任务描述
本关任务要求结合 Python 列表以及循环结构编写代码,验证一个给定的整数是否为三位数
相关知识
Python 序列
序列是 Python 中最基本的数据结构。相比于单一变量只能存储一个对象(数字或者字符串),序列可以用于存储多个对象。Python 有 6 种内置的序列类型,但最常见的是列表(list
)和元组(tuple
)。
列表list
list
是一种有序的集合,可以随时添加和删除其中的元素。列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
在list
中用索引来访问list
中每一个位置的元素。注意索引是从 0 开始的,当索引超出了范围时,Python 会报一个IndexError
错误。所以,要确保索引不要越界,记得最后一个元素的索引是len(list) - 1
。
例如,要获取上面示例代码中的list1
中的第 2 个元素,则可以通过下面的代码来获得:
>>> list1[1] #索引是从 0 开始的,所以第二个元素对应的索引是 1 而不是 2。
chemistry
列表list
包含以下方法:
方法 | 功能 |
---|---|
list.append(obj) | 在列表末尾添加新的对象 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.insert(index, obj) | 将对象插入列表 |
list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
list.remove(obj) | 移除列表中某个值的第一个匹配项 |
list.reverse() | 反向列表中元素 |
元组tuple
Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可,如下所示:
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = (1,)
元组中只包含一个元素时,需要在元素后面添加逗号,以免被误解成数学计算意义上的括号。
元组中的元素不可变,所以它没有append()
,insert()
这样的方法。另外,元组中的元素值也是不允许删除的,但我们可以使用del
语句来删除整个元组。比如,del tup1
。
其他获取元素的方法和list
是一样的,你可以正常地使用tup1[0]
,tup1[-1]
,但不能赋值成另外的元素。元组这种不可变的特性能够使得代码更安全。
编程要求
请编写代码验证输入的列表N_list
中的整数是否为三位数,并求这些三位数的百位数值,并用列表存储,最终直接输出列表。
测试说明
本实训的测试样例如下:
测试输入:100,200,300,400,500
预期输出:[1, 2, 3, 4, 5]
#请验证输入的列表N_list中的整数是否为三位数,并返回三位数整数的百位数值
N_list = [int(i) for i in input().split(',')] # 将输入数字以逗号分隔形成列表
a=[] # 创建新列表
for i in N_list: # 遍历输入列表
if len(str(i))==3: # 用len()判断列表长度
a.append(int(i//100)) # 百位取整,并用x.append()将数字按序添加到列表a中
print(a) # 打印输出a