视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
p16_教案——《最后一课》
2025-09-29 17:06:49 责编:小OO
文档
p16 教案——《最后⼀课》

【上节课衔接语】

好的上节课呢我们学习了如何编写程序来判断素数,并了解程序复杂性的概念。那么这节课呢,我们将了解什么是穷举算法,并利⽤它解决鸡兔同笼问题。

1、知识点

● 穷举算法

● ⽅程思想

● format() 的⽤法

● break 跳出循环

2、课前导⼊、任务说明部分

【知识概览】

3、任务清单视频1:Python-L2-P6 (按钮继续!!!)

【知识点】

1、数学⽅法解决鸡兔同笼:

【假设法】——假设全是鸡

【⽅程法】

2、计算机解决鸡兔同笼:

【穷举法】

穷举法的基本思想是根据题⽬的部分条件确定答案的⼤致范围,并在此范围内对所有可能的情况逐⼀验证,直到全部情况验证完毕,符合验证条件的情况就是该问题的解。

【提问】直接按钮继续了,可能问不到

Q:对穷举法思想,⾃⼰能够完全的理解么?还需要⽼师来讲解⼀下么?

A:穷举法的基本思想是,根据题⽬条件确定答案的⼤致范围,然后在此范围内对所有可能的情况逐⼀验证。

⽐如说鸡和兔⼀共就35只,我假设鸡⼀只,兔34只,验证脚的数⽬是否正确,不正确再继续,鸡2只,兔33只去验证。

直到脚的数⽬正确,那么就得到了题⽬的答案。

(【下⼀个衔接话术】)

视频中讲解了穷举法的基本思想,接下来我们将⽤代码实现穷举思想,解决鸡兔同笼问题。

视频2:穷举求解

【创作任务】利⽤穷举思想,结合 for 循环,解决鸡兔同笼问题。

【知识点】

x 代表鸡数,y 代表兔⼦数

【视频任务】

【效果截图】

【代码块】

【代码截图】

【下⼀个衔接话术】

那么接下来我们⼀起学习 format ( ) 函数的使⽤⽅法,来美化输出的结果。

视频3:美化输出

【创作任务】利⽤ format ( ) 函数进⾏美化输出。

【知识点】

format ( ) 格式化字符串,配合 {} 使⽤。使⽤ format ( ) 中的参数按顺序依次填充前⾯的 { }。

# 鸡兔同笼,共35个头,94只脚1

for x in range(35):2

y = 35 - x # 兔子的数量3

if 2 * x + 4 * y == 94:4

print("鸡有

5

【视频任务】【效果截图】

【代码块】

【代码截图】

# 鸡兔同笼,共35个头,94只脚1

for x in range(35):2

y = 35 - x # 兔子的数量3

if 2 * x + 4 * y == 94:4

print("鸡有{}只,兔子有{}只 ".format(x, y))

5

【答案】

【效果截图】

【代码块】

【代码截图】【下⼀个衔接话术】

好的,接下来我们将学习可以跳出循环的 break 语句,来提⾼程序的执⾏效率。视频4:算法优化

【创作任务】利⽤ break 语句提⾼程序执⾏效率。

【知识点】

1、break 语句⽤于跳出循环,不再执⾏与 break 具有相同缩进结构的后续代码

2、导⼊了 t ime 库,运⽤ t ime( ) ⽅法记录了程序的运⾏时间。

【视频任务】

【效果截图】x = 20191

z = 142

print("{}年{}月{}日".format(x,y,z))

3

【代码块】

【代码截图】

【提问】

Q:break 语句的作⽤是什么呢?

A:break 语句可以⽤于跳出循环,得到结果后就终⽌这个循环来达到避免资源浪费的效果,提⾼程序的执⾏效率。

【图⽚任务】

import time 1

start = time.time()2

# 鸡兔同笼,共 350000 个头,940000 只脚3

head = 350000 # 头总数4

foot = 940000 # 脚总数5

for x in range(head):6

y = head - x # 兔子的数量7

#print(x)8

if 2 * x + 4 * y == foot:9

print(" 鸡有 {} 只,兔子有 {} 只 ".format(x, y))10

break # 退出循环11

end = time.time()12

print(" 程序耗时为:{} 秒 ".format(end-start))

13

【效果截图】

【代码块】

def solve(): 1

【代码截图】4、课中拓展

1、操作题:百钱买百鸡(不做)

【题⽬】

【答案】

count = 0

2 for x in range(10):

3 for y in range(10):

4 for z in range(10):

5 if x + y == z and x != y and x != z and y != z:

6 print("{}+{}={}".format(x, y, z))

7 count = count + 1

8 return count

9

10print(" 一共有 {} 种 ".format(solve()))

11

【效果截图】

【代码块】

2、操作题:换零钱1(难)

【题⽬1】

def chicken():1

# 设公鸡 x 只,母鸡 y 只,小鸡 z 只,则 x+y+z=1002

for x in range(1, 100):3

for y in range(1, 100):4

z = 100 - x - y 5

if 5 * x + 3 * y + z / 3 == 100:6

print(" 公鸡 {} 只,母鸡 {} 只,小鸡 {} 只。".format(x, y,

z))

7chicken()8

【题⽬2 续】

【答案】

【效果截图】

【代码块】

【代码截图】def change(money):1

count = 0 # 方案数2

for i in range(money // 1 + 1):3

for j in range(money // 2 + 1):4

for k in range(money // 5 + 1):5

if i * 1 + j * 2 + k * 5 == money:6

print("1 元

k, " 张 ")

7 count = count + 18 # 统计总共有多少种方案

9 print(" 共有

5、总结

①学⽣总结完毕,发送总结卡⽚

②⽼师总结:(可发总结卡⽚)

这节课我们利⽤穷举算法解决了鸡兔同笼问题,利⽤ format( ) 函数优化了输出效果,利⽤ break 语句跳出循环的作⽤提⾼了程序的执⾏效率。

③询问本堂课是否还有疑问

④看结尾番剧视频,结束告诉⽼师

点击下课,请学⽣评价。

⑤下课话术

好的,那么我们这节课到这⾥就结束啦,期待你下⼀节课更加精彩的表现,训练师再⻅~下载本文

显示全文
专题