项目背景:
在玩游戏《坎巴拉太空计划》过程中发现火箭升空的过程比较有意思,想通过程序实现表述其具体升空的过程
功能:
1.输入变量,自动输出带有变量的一段文字,并自动实现换行 换列功能
Ex. input(1000,90,85)
飞行高度1000米之后,火箭飞行角度由90度变更为85度
2.预定函数公式,自定义变量区间(0,10)和补齐区间长度deltat,实现制定区间的函数参数自动补齐
Ex. define v=at
input t(0,10)
v0=0
a=10
deltat=1
输出
0,0
1,10
2,20
3,30
...
9,90
10,100
3.使用Python turtle模块实现,可以通过截图输出为图片,进一步导入ppt
实现思路:
功能1:输出模块Python turtle.write() 函数
自动换行:
引入变量rowx,实现其自动换行
引入变量columny,实现其自动换列
代码实现:
Steps 1:创建并设置Python代码和turtle显示窗体
知识点回顾:Python cmd退出命令1:输入exit(),回车
2:输入quit(),回车
3:输入ctrl+z,回车
代码及效果
Steps 2:实现输出模块
1.基本IO模块
固定变量,自定义字体字号设定
基本输出模块代码
2.实现简单的自动换行
自动换行代码
方法:
获取当前turtle坐标,并进行简单y坐标变换
3.进阶IO模块
实现变量输入,自动赋值到相应文字之中
效果:
进阶IO效果
实现思路:
1. 使用while循环实现时间递增功能
步长为0.5s,暂时固定临界退出时间为 9s
代码解释-1
2.使用公式v=at定义当前火箭速度
优化加速度等参数名
代码解释-2
3.增加行数表示列,
增加行数判定,防止文字超出显示区
代码解释-3
4.报错解析
SyntaxError: invalid syntax:使用非标准字符1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :
(导致 “SyntaxError :invalid syntax”)
2)使用 = 而不是 ==
= 是赋值操作符而 == 是等于比较操作
(导致 “SyntaxError :invalid syntax”)
3)错误的使用缩进量。
(导致“IndentationError:unexpected indent”、
“IndentationError:unindent does not match any outer indetation level”
“IndentationError:expected an indented block”)
分析原因不是以上三种原因,为使用了错误的循环类型,应该用while循环而不是for循环
二者区别
for和while的区别
5.数据格式相关
float类型 和int类型的使用,灵活控制输出字符的格式
待办及下步计划:
1.增加input模块,实现a.变量的自定义输入输出 b.实现语句的灵活可变动
2.单页输入暂停截屏后敲击键盘实现程序的继续运行,不用重新手动编辑参数
3.行数递增,实现20倍数自动暂停分页
4.输出到文本或其他文件
To be continue...