当前位置:首页>python>Python少儿编程-数字魔法

Python少儿编程-数字魔法

  • 2026-09-02 18:51:11
Python少儿编程-数字魔法

想象比知识更重要

编程能让想象变成现实

~Python少儿编程课堂来啦~

哈喽,各位编程小达人👋!今天我们要开启一场超有趣的“数字寻宝游戏”——有一群调皮的数字宝宝:7、11、3、2、5,它们吵吵嚷嚷地挤在一起,谁也不肯按“从小到大”的顺序排队,还说“没人能把我们摆整齐”!这可难不倒我们编程小高手!今天,我们就来学会一个超实用的“排序魔法”——选择排序,像寻宝一样,一个个找出最小的数字宝宝,把它们安放到正确的位置,轻松搞定这群调皮蛋~而且!学会这个魔法,你不仅能搞定这组数字,以后遇到任何“乱排队”的数字,都能一键整理,是不是超厉害?话不多说,游戏正式开始!🎮

调皮数字的“排队难题”

在数字王国里,有5个数字宝宝:7、11、3、2、5。它们每天都要排队做早操,但今天它们闹脾气了,故意乱站队形,把队伍搞得乱七八糟。数字国王急坏了,赶紧发布“寻宝任务”:请编程小达人帮忙,用“选择排序”魔法,从乱乱的队伍里,一次次找出“最小的数字宝宝”,把它送到队伍最前面,直到所有数字都按“从小到大”的顺序排好队,完成任务就能获得“数字排序小勇士”勋章哦!🏅悄悄提示:这个“寻宝任务”,本质就是我们今天要学的选择排序算法——所谓选择排序,就是“一次次选最小,一次次放正确”,像剥橘子一样,从外到内,一步步把混乱变整齐~

游戏思路拆解轻松闯关

很多小达人看到“排序”“算法”,会想到之前学过的冒泡,但今天我们使用一个新的工具来闯关!我们先来拆解今天的核心任务,再设计游戏模块~

01

把大难题变小游戏    

核心任务:把“7,11,3,2,5”按从小到大排序

拆解成4个小关卡(每一关都是一次“寻宝+安放”):

  1. 关卡1:从所有数字(7、11、3、2、5)中,找出最小的数字宝宝,把它和队伍第一个位置的数字(7)交换,让它站到最前面;
  2. 关卡2:从剩下的数字(7、11、3、5)中,找出最小的数字宝宝,把它和队伍第二个位置的数字(7)交换,让它站到第二个位置;

  3. 关卡3:从剩下的数字(7、11、5)中,找出最小的数字宝宝,把它和队伍第三个位置的数字(7)交换,让它站到第三个位置;
  4. 关卡4:从剩下的两个数字(7、11)中,找出最小的数字宝宝,把它和队伍第四个位置的数字(7)交换,此时所有数字都排好队,任务完成!
小提醒:每闯完一关,就有一个数字宝宝“归位”,剩下的数字宝宝越来越少,难度也越来越低,是不是很贴心?😜

02

给游戏搭好“小框架” 

要完成这个寻宝游戏,我们只需要3个核心“游戏模块”,就像玩积木需要的3种基础零件,缺一不可:
  1. 模块1:数字队伍模块(存储调皮的数字宝宝)—— 用Python里的“列表”,把5个数字宝宝装起来,就像给它们准备一个“临时队伍场地”;
  2. 模块2:寻宝模块(找最小的数字宝宝)—— 遍历剩下的数字宝宝,找出其中最小的那个,记录它的“位置”,就像寻宝时记下宝藏的坐标;
  3. 模块3:安放模块(交换数字位置)—— 把找到的最小数字宝宝,和当前队伍最前面的“空位”交换位置,让它正式归队。

动手编写“排序魔法”

了解了游戏思路和框架,接下来就是最激动人心的环节——动手编程!我们用Python编写代码,实现这个“排序魔法”,搞定调皮的数字宝宝~
注意哦,老师会把每一行代码都加上“游戏注解”,就像给游戏加提示一样,保证每个小达人都能看懂、会写!💻
# 模块1:准备数字队伍(调皮的数字宝宝们)num_list = [7, 11, 3, 2, 5]print("排序前的数字队伍:", num_list)  # 打印一下,看看一开始的混乱队伍# 模块2+3:寻宝+安放(重复执行,直到所有数字归位)# 外层循环:控制“关卡”,一共4关(5个数字,只需要4次交换)for i in range(len(num_list) - 1):    # 假设当前最前面的数字,就是“暂时最小”的(先猜一个宝藏位置)    min_index = i  # min_index 就是最小数字宝宝的“位置坐标”    # 内层循环:真正的“寻宝”,找剩下数字里最小的宝宝    for j in range(i + 1, len(num_list)):        # 如果找到比“暂时最小”更小的数字,就更新宝藏坐标        if num_list[j] < num_list[min_index]:            min_index = j    # 安放宝藏:把找到的最小数字,和当前关卡的“空位”交换位置    num_list[i], num_list[min_index] = num_list[min_index], num_list[i]    # 打印每一关的结果,看看数字宝宝们的变化    print(f"第{i+1}关结束,当前队伍:", num_list)# 任务完成!打印最终的整齐队伍print("🎉 排序完成!整齐的数字队伍:", num_list)

代码讲解

我们一句一句来看,解开代码的“魔法密码”:

  1. num_list = [7, 11, 3, 2, 5]:创建数字队伍,把5个调皮的数字宝宝装进去,相当于游戏的“初始场地”;
  2. for i in range(len(num_list) - 1):外层循环,控制闯关次数——5个数字,只需要4次交换(4关),就像玩游戏,闯完4关就通关;
  3. min_index = i:先“猜”一下,当前关卡最前面的数字,就是最小的(就像寻宝时先猜一个方向);
  4. for j in range(i + 1, len(num_list)):内层循环,真正的寻宝环节——从当前关卡的下一个数字开始,一个个检查,找出真正最小的数字;
  5. if num_list[j] < num_list[min_index]:如果找到比“猜测的最小数”更小的数字,就更新“宝藏坐标”(min_index);
  6. num_list[i], num_list[min_index] = ...:交换位置,把找到的最小数字宝宝,送到当前关卡的“空位”上,完成一次归位;
  7. print语句:打印每一步的结果,让我们清楚地看到数字宝宝们一点点变整齐的过程,超有成就感!

运行结果

当我们运行这段代码,就能看到下面的结果,数字宝宝们一步步排好队啦:

排序前的数字队伍: [7, 11, 3, 2, 5]第1关结束,当前队伍: [2, 11, 3, 7, 5]第2关结束,当前队伍: [2, 3, 11, 7, 5]第3关结束,当前队伍: [2, 3, 5, 7, 11]第4关结束,当前队伍: [2, 3, 5, 7, 11]🎉 排序完成!整齐的数字队伍: [2, 3, 5, 7, 11]!
看!经过4关的“寻宝+安放”,调皮的数字宝宝们终于乖乖按顺序排队啦,我们成功完成了任务,获得“数字排序小勇士”勋章!🥳

拓展挑战

今天,我们通过“数字寻宝游戏”,学会了Python里的选择排序算法——其实它一点都不难,核心就是“一次次选最小,一次次放正确”,重复几次,就能把混乱的数字排好队。
小思考:如果数字队伍变成[9, 4, 6, 8, 1],你能用今天学的代码,帮它们排好队吗?赶紧动手试试,检验一下自己的学习成果吧!
最后,老师想告诉各位小达人:编程就像玩游戏一样,只要我们愿意拆解难题、动手尝试,就能解锁一个又一个“魔法”!下次我们还会学习更有趣的排序算法,解锁更多编程技能,记得持续关注哦~
💡 今日小作业:把今天的代码抄一遍(或复制运行),观察每一关的变化,然后尝试修改数字队伍,自己动手完成一次排序挑战!

(文末彩蛋:关注我,少儿编程不迷路,每天进步一点点!)

最新文章

随机文章