← 返回 Day 10 正文

Day 10 · 练习与清单

Day 010 完成清单 ✅

循环(for/while)

已学内容


练习题

练习 1: 斐波那契数列(Fibonacci)

斐波那契数列定义为:F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2)

要求: - 用户输入一个正整数 n - 程序输出前 n 个斐波那契数 - 至少使用两种方式实现(for 和 while 各一种)

示例:

输入: 10
输出: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34

练习 2: 数字统计

要求: - 生成一个包含 50 个随机整数的列表(范围 1-100) - 统计其中奇数和偶数的个数 - 找出列表中的最大值、最小值和平均值 - 找出所有能被 3 整除的数

提示:

python
import random
numbers = [random.randint(1, 100) for _ in range(50)]

练习 3: 密码强度检测器

要求: - 用户输入一个密码字符串 - 检查密码长度是否 ≥ 8 - 检查是否包含大写字母、小写字母、数字、特殊字符 - 根据满足的条件数量评定密码强度(弱/中/强/很强)

评分规则: | 条件数量 | 强度 | |---------|------| | 0-1 | ❌ 弱 | | 2 | ⚠️ 中 | | 3 | ✅ 强 | | 4 | 💪 很强 |

练习 4: 数字金字塔

要求: - 用户输入金字塔层数 n - 打印数字金字塔(见示例)

示例(n=5):

    1
   121
  12321
 1234321
123454321

提示: 每行数字分两部分:前半部分递增,后半部分递减。

练习 5: 冒泡排序(Bubble Sort)

要求: - 用 Python 实现冒泡排序算法 - 使用嵌套循环(外层控制轮数,内层控制比较和交换) - 每轮结束后输出当前数组状态,观察排序过程

示例:

原始: [64, 34, 25, 12, 22, 11, 90]
第1轮: [34, 25, 12, 22, 11, 64, 90]
第2轮: [25, 12, 22, 11, 34, 64, 90]
...
排序后: [11, 12, 22, 25, 34, 64, 90]

额外挑战


学习笔记

_________________________
_________________________
_________________________
_________________________
_________________________
_________________________
_________________________