【问题描述】8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
请产生一个列表保存100~400的完全平方数。完全平方数就是整数的平方,如100是整数10的平方,所以100就是完全平方数。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出结果:8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
100 121 144 169 196 225 256 289 324 361 4008gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【题前思考】8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
根据问题描述,填写表4-1-1。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表4-1-1 问题分析8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【解题思路】8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
如果依次对100~400的数判断其是否为完全平方数,程序会很复杂。但是,我们用两个整数相乘就可以直接得到一个完全平方数。100~400的完全平方数恰是10~20的平方。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【程序代码】8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【代码分析】8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
①:res=[ ]表示产生一个空的列表,用于存放完全平方数,也可以写成res=list( )。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
②:产生10~20的整数,将其平方存入列表res。range(10,21)表示产生10~20的整数,注意要包括左边界,不包括右边界。for i in range(10,21)表示对区间内的每一个数i,执行循环体的所有操作,循环体就是for下面缩进的语句块。在本程序里面,循环体就只有一条语句res.append(i*i),它表示将i的平方添加到列表res的末尾,如图4-1-1和图4-1-2所示。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
图4-1-1 将第一个数10的平方置于列表res末尾8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
图4-1-2 将第二个数11的平方置于列表res末尾8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
③:按输出要求格式化输出数据。f"{a:5d}"表示一个格式字符串,其中f就是格式字符串的标志,{}括起来的内容是需要格式化的数据,{}以外的内容会被原样输出。:前的内容为输出的表达式,后面为格式,整数5表示数据输出占用的宽度,如果小于实际宽度将以实际宽度输出,如果大于实际宽度将在数据左边填充空格补足5个空格。字符d表示以十进制整数输出。end=''表示每次输出以后添加一个空字符串,默认情况下会添加换行符。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【优化提升】8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
Python可用列表推导式快速产生一个列表,上例的问题也可以使用如下形式来实现。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
res=[i*i for i in range(10,21)]8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
上式表示对区间10~20的每一个数i,将i*i作为项构成一个列表res。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【技术全貌】8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
序列包括列表和元组,元组可用的操作一定能用于列表,但可用于列表的操作不一定能用于元组,因为元组中的项不允许修改,所以将这些方法分成两部分,一部分是列表和元组都能使用的不改变序列项的操作,称为通用序列操作,见表4-1-2;另一部分是仅用于列表的要改变序列项的操作,称为可变列表操作,见表4-1-3。8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
序列类型8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表4-1-2 通用序列操作8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表4-1-3 可变序列(列表)操作8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
8gP100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库