Python 用自然语言/流程图描述算法并实现
算法的定义及作用一、导入:编程解决问题的步骤
- 分析问题
- 划分边界
- 设计算法 #importance
- 编写程序
- 调试测试
- 后期维护
二、生活中的算法问题:饮料换杯两个杯子 , 一杯装可乐 , 一杯装雪碧 , 怎样才能让装可乐的杯子装雪碧 , 装雪碧的杯子装可乐?
再拿一个杯子 。
- 设计算法:t=a #第一步a=b #第二步b=t #第三步
- 编写代码:
>>> a="可乐">>> b="雪碧">>> t=a>>> a=b>>> b=t>>> print("a=",a,"b=",b)a= 雪碧 b= 可乐1234567
完成由算法到程序的过程 。算法的定义:解决问题的步骤算法是有限步骤内求解某一问题所使用的一组定义明确的规则 。
算法怎么描述一、自然语言描述鸡兔同笼问题我国古代数学著作《孙子算经》中应有“今有雉兔同笼 , 上有三十五头 , 下有九十四足 , 问雉兔各有几和?”
- 数学思维:假设法、列方程
- 计算思维:穷举法
二、自然语言描述鸡兔同笼问题算法描述的两个基本要素:初始状态、变化规律 。
- 初始状态:最开始尝试的那一组数据(0只鸡、35只兔子)设鸡为变量n , 兔子为变量35-n 。
- 变化规律:失败了之后鸡的数量+1 , 兔子的数量-1 。 变化规律n=n+1 。
- 假设的鸡的数量为n只;兔的数量为35-n;
- n=0;
- 如果2n+4(35-n)=94 , 则输出结果n;否则执行步骤4;
- n=n+1;
- 执行步骤3;
文章插图
三、代码实现基础实现:
#鸡兔同笼V1:n=0m=35-n#设初值 , 鸡有0只 , 兔子有35只while 0<=n<=35 and 0<=m<=35:if 2*n+4*m == 94:#表判断print("鸡有",n,"只")print("兔有",m,"只")breakelse:n=n+1#鸡的数量加一 , 兔子的数量减一 , 不断试错m=35-n#直到得出正确答案1234567891011
运行结果:鸡有 23 只兔有 12 只
能看过程的:
n=0m=35-n#设初值 , 鸡有0只 , 兔子有35只while 0<=n<=35 and 0<=m<=35:if 2*n+4*m == 94:#表判断print("符合!")print("鸡有",n,"只")print("兔有",m,"只")breakelse:n=n+1#鸡的数量加一 , 兔子的数量减一 , 不断试错m=35-n#直到得出正确答案print("鸡有",n,"只、","兔有",m,"只时 , ","符合条件吗?")123456789101112
运行结果:鸡有 1 只、 兔有 34 只时 ,符合条件吗?鸡有 2 只、 兔有 33 只时 ,符合条件吗?鸡有 3 只、 兔有 32 只时 ,符合条件吗?鸡有 4 只、 兔有 31 只时 ,符合条件吗?鸡有 5 只、 兔有 30 只时 ,符合条件吗?鸡有 6 只、 兔有 29 只时 ,符合条件吗?鸡有 7 只、 兔有 28 只时 ,符合条件吗?鸡有 8 只、 兔有 27 只时 ,符合条件吗?鸡有 9 只、 兔有 26 只时 ,符合条件吗?鸡有 10 只、 兔有 25 只时 ,符合条件吗?鸡有 11 只、 兔有 24 只时 ,符合条件吗?鸡有 12 只、 兔有 23 只时 ,符合条件吗?鸡有 13 只、 兔有 22 只时 ,符合条件吗?鸡有 14 只、 兔有 21 只时 ,符合条件吗?鸡有 15 只、 兔有 20 只时 ,符合条件吗?鸡有 16 只、 兔有 19 只时 ,符合条件吗?鸡有 17 只、 兔有 18 只时 ,符合条件吗?鸡有 18 只、 兔有 17 只时 ,符合条件吗?鸡有 19 只、 兔有 16 只时 ,符合条件吗?鸡有 20 只、 兔有 15 只时 ,符合条件吗?鸡有 21 只、 兔有 14 只时 ,符合条件吗?鸡有 22 只、 兔有 13 只时 ,符合条件吗?鸡有 23 只、 兔有 12 只时 ,符合条件吗?符合!鸡有 23 只兔有 12 只
- 第2天 | 12天搞定Python,运行环境(详细步骤)
- Python高级技巧:用一行代码减少一半内存占用
- 手把手教你用python编程写一款自己的音乐下载器
- Python爬虫入门第一课:如何解析网页
- 刷爆全网的动态条形图,只需5行Python代码就能实现
- 让你的输出变得更帅,Python炫酷的颜色输出与进度条打印
- 斐波那契数列:python实现和可视化
- Python 3.9 正式发布!一图秒懂新特性
- Python解决同步验证码模拟登录问题
- Python爬取lol英雄联盟全阵容皮肤