一张A4纸学编程——为程序增加互动
本系列的前面已经学习了如何利用Python计算A4纸对折某一次的厚度。但是对于一个真正实用的程序,不能一厢情愿的由程序员去决定计算对折多少次的厚度,或者干脆一次性把100多次对折的厚度都显示出来。程序应该允许使用者自主做出选择。
比如下面的需求:
A4纸程序要允许使用者通过键盘录入A4纸对折的次数,然后善解人意的进行计算和输出。
一般来说,一个完整的程序一般由输入——计算——输出三部分组成。
input函数用来实现输入操作,下面在交互模式下学习input函数的用法:
[图片]
input函数允许在括号中填入一段文字(参数),运行程序后,填入的文字将作为提示语显示,提示语后有光标闪烁,提...
本系列的前面已经学习了如何利用Python计算A4纸对折某一次的厚度。但是对于一个真正实用的程序,不能一厢情愿的由程序员去决定计算对折多少次的厚度,或者干脆一次性把100多次对折的厚度都显示出来。程序应该允许使用者自主做出选择。
比如下面的需求:
A4纸程序要允许使用者通过键盘录入A4纸对折的次数,然后善解人意的进行计算和输出。
一般来说,一个完整的程序一般由输入——计算——输出三部分组成。
input函数用来实现输入操作,下面在交互模式下学习input函数的用法:
input函数允许在括号中填入一段文字(参数),运行程序后,填入的文字将作为提示语显示,提示语后有光标闪烁,提示用户进行键盘录入。
输入数据并按回车键运行程序,看似什么都没有发生,其实第一行程序建立了一个变量n,用户录入的数据10已经被存储到了变量n中。
输入n并按回车键,可以看到程序显示出了n中存储的数据。这里一定要注意,'10'是带有引号的,这说明Python把'10'当成了文字而非数字。此时如果按照下面的算式进行计算将会出现错误,因为文字'10'不能进行计算:
解决方法是把带引号的文字'10'转换文数字10,之后再进行计算。Python提供了将文字转换为数字的方法:
int()函数用于把文字转换为整数
float()函数用于把文字转换为小数
因为我们要求的就是用户输入一个整数,所以这里选择用int函数将n转换为整数,之后再进行计算:
在交互模式下进行了一番测试,终于学会了input指令的使用方法,下面通过New File新建一个程序文档,输入下面的指令并运行:
程序的运行过程如下:
有了键盘录入功能,程序员可以把一些不能提前确定的数据用input函数让用户进行录入,然后再根据用户的需求进行计算和求解,这样就避免了程序员的一厢情愿。
不过现在的程序还不完善,每次为运行程序只能录入和计算一次,要想再次计算必须重新运行一次程序。
如何能让程序反复运行呢?
如何能按照合适的单位进行换算并显示出单位呢?
这就要结合本系列前面学习的内容来解决了。
用分支结构解决单位显示问题
一、问题分析
103次对折的厚度差异巨大,现在希望计算机能够根据数据大小选择合适的单位。假定可选的单位有:毫米、厘米、米、千米、光年。我们可以总结出下图的单位选择方案:
[图片]
即:
如果——厚度<1厘米,用毫米做单位
如果——1厘米<=厚度<1米,用厘米做单位
如果——1米<...
一、问题分析
103次对折的厚度差异巨大,现在希望计算机能够根据数据大小选择合适的单位。假定可选的单位有:毫米、厘米、米、千米、光年。我们可以总结出下图的单位选择方案:
即:
如果——厚度<1厘米,用毫米做单位
如果——1厘米<=厚度<1米,用厘米做单位
如果——1米<=厚度<1千米,用米做单位
如果——1千米<=厚度<1光年,用千米做单位
如果——厚度>=1光年,用光年做单位
二、算法设计
1、利用循环结构自动计算出a4纸对折1次—103次的厚度。
2、在每次循环中加入下面的判断:
假设对折后的厚度为n, 计算出n的值。
将n的单位转换为厘米,将n与1进行比较,如果小于1,将n转换为毫米显示。
否则,将n的单位转换为米,将n与1进行比较,如果小于1,将n转换为厘米显示。
否则,将n的单位转换为千米,将n与1进行比较,如果小于1,将n转换为米显示。
否则,将n的单位转换为光年,将n与1进行比较,如果小于1,将n转换为千米显示。
否则,将n的单位转换为光年,显示n光年。
三、算法实现——分支结构
分支结构常见的2种语法格式如下:
用法1对应我们自然语言的如果——如果——如果
用法2对应我们自然语言的如果——否则如果——否则
两者的主要区别在于:用法1的几种情况可能同时发生。用法2的几种情况只可能发生一种,如果发现一种情况已经发生,后面的几种情况将不再进行检测和判断。
因为对于每一项数据,使用哪种单位只能选择其中一种,所以这里应使用用法2,大致像下面这样:
上面的写法并不是真正的代码,但是使用了分支结构的语法格式,我们可以称之为伪代码,先写出伪代码再一点点转换成真正的程序也是一种不错的技巧。
掌握了分支结构的用法,就可以把算法转换为Python代码了:
程序的完整代码如下:
运行程序将选择合适的单位显示每一次对折的厚度:
0.2 毫米
0.4 毫米
0.8 毫米
1.6 毫米
3.2 毫米
6.4 毫米
1.28 厘米
……
40.96 厘米
81.92 厘米
1.6384 米
3.2768 米
……
419.4304 米
838.8608 米
1.6777216000000001 千米
3.3554432000000003 千米
6.710886400000001 千米
……
7378697629483.821 千米
1.5598579096759375 光年
3.119715819351875 光年
……
这么多次结果一次性显示出来,已经分不清哪次是哪次了,其实只需要稍稍修改程序中的print指令,把次数显示出来即可:
程序的显示将变得非常清晰:
第 1 次: 0.2 毫米
第 2 次: 0.4 毫米
第 3 次: 0.8 毫米
第 4 次: 1.6 毫米
第 5 次: 3.2 毫米
第 6 次: 6.4 毫米
第 7 次: 1.28 厘米
第 8 次: 2.56 厘米
第 9 次: 5.12 厘米
第 10 次: 10.24 厘米
第 11 次: 20.48 厘米
第 12 次: 40.96 厘米
第 13 次: 81.92 厘米
……
第 96 次: 837442338.5581342 光年
第 97 次: 1674884677.1162684 光年
第 98 次: 3349769354.232537 光年
第 99 次: 6699538708.465074 光年
第 100 次: 13399077416.930147 光年
第 101 次: 26798154833.860294 光年
第 102 次: 53596309667.72059 光年
第 103 次: 107192619335.44118 光年
利用循环和分支结构的配合,我们已经基本上完美解决了A4纸对折的厚度计算问题,与人力的计算相比,计算机既高效又准确,当遇到问题时能想到利用计算机代替人力,高效的解决问题,这就是计算思维。
Python海龟绘图常用指令整理
首先使用 import turtle 导入turtle绘图模块,之后就可以使用模块提供的指令了。下面整理了一些常用指令:
[图片]
练习1:
[图片]
代码:
#导入海龟作图模块,改名为t
import turtle as t
t.color("blue")
t.speed(0)
#循环8次
for i in range(8):
t.circle(200)
t.rt(360/8)
t.ht()
练习2:
[图片]
代码:
#导入海龟作图模块,改名为t......
首先使用 import turtle 导入turtle绘图模块,之后就可以使用模块提供的指令了。下面整理了一些常用指令:
练习1:
代码:
#导入海龟作图模块,改名为t
import turtle as t
t.color("blue")
t.speed(0)
#循环8次
for i in range(8):
t.circle(200)
t.rt(360/8)
t.ht()
练习2:
代码:
#导入海龟作图模块,改名为t
import turtle as t
t.color("blue")
t.dot(100)
t.color("red")
t.speed(0)
#循环10次
for i in range(10):
t.fd(200)
t.dot(60)
t.bk(200)
t.rt(360/10)
t.ht()
蓝桥杯的一道绘图题目
【提示信息】
识别出图形中的基本形状,以基本形状为单位绘制出最终图形。
绘制所示图形,中间是半径为120 的圆,四周是边长为 80 的 12 个菱形。
【编程实现】
使用turtle 绘制如图中所示的图形。
1) 背景为白色,中间圆为红色轮廓线,不填充;
2) 图中菱形的长对角线延长线经过圆心(如图中虚线所示,虚线不用绘制);
3) 菱形为黑色轮廓线、黄色填充,其中锐角为 60 度;
4) 绘图过程中隐藏画笔,能清楚地看到图形绘制过程...
【提示信息】
识别出图形中的基本形状,以基本形状为单位绘制出最终图形。
绘制所示图形,中间是半径为120 的圆,四周是边长为 80 的 12 个菱形。
【编程实现】
使用turtle 绘制如图中所示的图形。
1) 背景为白色,中间圆为红色轮廓线,不填充;
2) 图中菱形的长对角线延长线经过圆心(如图中虚线所示,虚线不用绘制);
3) 菱形为黑色轮廓线、黄色填充,其中锐角为 60 度;
4) 绘图过程中隐藏画笔,能清楚地看到图形绘制过程。
算法思路:
1、显然这是一个12的循环,用for循环即可
2、为了让圆画在中间,可先抬起笔,用goto(0,-120)实现,画完圆再用home()归位。
3、每次循环画完菱形之后,最方便的方法就是抬起笔用home()归位。
4、因为home()归位后会自动恢复角度为0,所以每次循环开始要先设置好不同的角度:
第1次:0度
第2次:360/12度
第3次:360/12*2度
第4次:360/12*3度
……
分析上面的规律可以得出下面的角度设置方法:
如果循环变量i从0开始:(360/12)*i
如果循环变量i从1开始:(360/12)*(i-1)
程序代码:
import turtle as t
t.ht()
t.up()
t.goto(0,-120)
t.down()
t.color("red")
t.circle(120)
for i in range(12):
t.up()
t.home()
t.seth(i*(360/12))
t.fd(120)
t.down()
t.color("black","yellow")
t.begin_fill()
t.lt(30)
t.fd(80)
t.rt(60)
t.fd(80)
t.rt(120)
t.fd(80)
t.rt(60)
t.fd(80)
t.end_fill()
小自考丨小学教育
小自考丨小学教育
[图片]
就业方向:
.
1⃣教师:相比教育培训机构,学校的工作更稳固,更能给人一种归属感
.
2⃣编辑、文案、策划:除了做教师,咱们还可以去出版社、网站从事编辑、文案或者策划方面的工作
.
3⃣行政后勤类工作:假设暂时做不了老师,可以先进学校做行政后勤类的工作
.
【四川小自考】
.
🔆考试分为统考+校考🌟
.
统考【4⃣月、🔟月考试,每次可考4科】,最快2次可以考完
.
校考【1⃣月、7⃣月考试,每次最多可考6科❗️】,最快2次可以考完
.
1⃣年就可以考完全部课程,然后论文答辩,申请毕业
1⃣年考完+ 专科......
小自考丨小学教育
就业方向:
.
1⃣教师:相比教育培训机构,学校的工作更稳固,更能给人一种归属感
.
2⃣编辑、文案、策划:除了做教师,咱们还可以去出版社、网站从事编辑、文案或者策划方面的工作
.
3⃣行政后勤类工作:假设暂时做不了老师,可以先进学校做行政后勤类的工作
.
【四川小自考】
.
🔆考试分为统考+校考🌟
.
统考【4⃣月、🔟月考试,每次可考4科】,最快2次可以考完
.
校考【1⃣月、7⃣月考试,每次最多可考6科❗️】,最快2次可以考完
.
1⃣年就可以考完全部课程,然后论文答辩,申请毕业
1⃣年考完+ 专科再用半年拿证;本科用1年左右拿证
.
♨️难度:
❕统考(国考):由省教育考试院监考阅卷,需要好好复习。但只有6科,难度就没有那么大
.
✴️校考(省考):由助学点监考(监考不会太严💯),学校阅卷
.
🌟含金量:大自考=小自考
毕业证、学位证、学信网,都是一模一样。
.
🌟主考院校:
.四川师范大学
西华师范大学
绵阳师范学院
乐山师范学院
成都师范学院
专业选择
[图片]
[图片]
❶人力资源管理
.
女孩子心思缜密,更能有效和各部门沟通,所以在人事关系处理上比较容易胜任。而且人力资源管理属于职能部门,工作压力相对较小,招聘、管理、考核,挖掘人才等
.
❷汉语言文学专业
.
细腻的文字工作,女孩子再合适不过了,其次,汉语言文学专业是万金油,无论是企业还是政府,都需要文字工作者。这个专业考公务员、考编制的话,岗位需求也比较多哦
.
❸学前教育专业
.
“不要让孩子输在起跑线上”已经成为许多幼儿家长的共识,因此这类自考专业的人才市场需求很大,一直处于供不应求的局面。女孩子天生就对孩子更加亲近,也更有耐心,所以这个专业一直比较受欢...
❶人力资源管理
.
女孩子心思缜密,更能有效和各部门沟通,所以在人事关系处理上比较容易胜任。而且人力资源管理属于职能部门,工作压力相对较小,招聘、管理、考核,挖掘人才等
.
❷汉语言文学专业
.
细腻的文字工作,女孩子再合适不过了,其次,汉语言文学专业是万金油,无论是企业还是政府,都需要文字工作者。这个专业考公务员、考编制的话,岗位需求也比较多哦
.
❸学前教育专业
.
“不要让孩子输在起跑线上”已经成为许多幼儿家长的共识,因此这类自考专业的人才市场需求很大,一直处于供不应求的局面。女孩子天生就对孩子更加亲近,也更有耐心,所以这个专业一直比较受欢迎
.
就业方向:可从事幼师、保育员、园长等
.
❹小学教育专业
.
收入稳定,教师的社会地位有所提升,
工作稳定,不用经常出差,省去很多麻烦;节假日比较多,可以得到良好休息;交往的人员相对比较简单,除了领导同事,就只有青春活力的学生,免去很多勾心斗角;桃李满天下
.
就业方向:小学老师 、课程顾问 、行政后勤类工作
.
❺法学专业
.
对于女生来说,学习法律还是存在一定的优势的,女生天生具有敏感性,这对学习法律的要求是很必要的。再加上女生多少选择文科的比较多,因此学习法律在某种意义上对于女生还是很方便的
.
❻行政管理专业
.
人力、行政、政府机构都可适应就业,且报考公务员对口。总的来说,这个专业毕业后,可从事文职行政类工作,工作压力小,可兼顾家庭,需要有耐心,是女孩子非常适合的职位
.
就业方向:律师事务所、考研、考公、考事业编等
.
❼工商管理专业
.
在公司业务能力突出,加上有工商管理的专业基础,提拔也会快一些。毕竟,后期基本上都要走上管理岗位。在这个时候,你选择考一个MBA/EMBA的专硕,可能更适合一些。考这个专硕,导师并不会因为你本科学的专业而特别优待你,相反,你的资源,导师会更看重喔。
.
❽会计专业
.
会计是一门需要细致与耐心的学科,女孩子在做事情时认真和仔细的性格非常适合,在职场上,做会计工作的女孩子相对会多一些
.
就业方向:出纳、财务、会计、核算等
在路邊等火車經過的時候,我們聽見小貓咪叫的聲音。
我們到處找來源,最後,發現小貓藏在這個洞裡。
兒子喵一聲,他就喵一聲。
我們很擔心他是不是出不來,但是台九線上的車都開很快,時速大約80。
考量到車多又快(而且靠近蘇澳,都是砂石車和水泥車),加上他是野貓,不可能乖乖聽話被我們輕易撈出來。
觀察很久,換了好幾個角度看他,發現他其實是窩在乾樹葉堆上,很閒適的樣子。
於是就放下這件事了。
放下,想管閒事的心態。
放下,沒有「救」到他的良心譴責
其實,小貓的喵喵叫,或許不是在求救,因為沒人經過的時候他就很安靜。
有時候,是我們人類自以為自己可以「救」別人。忘記了他自己有能力突破。...
在路邊等火車經過的時候,我們聽見小貓咪叫的聲音。
我們到處找來源,最後,發現小貓藏在這個洞裡。
兒子喵一聲,他就喵一聲。
我們很擔心他是不是出不來,但是台九線上的車都開很快,時速大約80。
考量到車多又快(而且靠近蘇澳,都是砂石車和水泥車),加上他是野貓,不可能乖乖聽話被我們輕易撈出來。
觀察很久,換了好幾個角度看他,發現他其實是窩在乾樹葉堆上,很閒適的樣子。
於是就放下這件事了。
放下,想管閒事的心態。
放下,沒有「救」到他的良心譴責
其實,小貓的喵喵叫,或許不是在求救,因為沒人經過的時候他就很安靜。
有時候,是我們人類自以為自己可以「救」別人。忘記了他自己有能力突破。
我告訴孩子,等晚上車少了,他就會出來了,畢竟貓科動物是晚上才活動的。
他很聰明啊,找到這樣一個地方做窩,完全不會被人類打擾。
馬路上可以學到的東西其實不比教室少,而且很真實。
就看願不願意花時間了。
上小学前那些事儿
其实很多事情由于无忧太小都记不清了。她只是依稀记得上小学前的那个暑假大部分时光是在外婆的陪伴下度过的。每天早上跟外婆和外公去早市闲逛,上午外婆陪着她打扑克牌,下午外公教她识字和背古诗。她印象最深的就是鹅鹅鹅了。终于有一天晚上,父亲把无忧接回了祖父家,告诉无忧还有一周就要去小学做入学测试了,需要她做好准备。无忧清晰地记得父亲帮她找了很多学校可能会问到的问题,除了一些简单的考验智商的问题还有自我介绍。在一周的准备里,终于到了无忧去做入学测试的那一天,跟预想的一样,校长问了无忧的名字以及一些基础状况。没有意外,无忧顺...
其实很多事情由于无忧太小都记不清了。她只是依稀记得上小学前的那个暑假大部分时光是在外婆的陪伴下度过的。每天早上跟外婆和外公去早市闲逛,上午外婆陪着她打扑克牌,下午外公教她识字和背古诗。她印象最深的就是鹅鹅鹅了。终于有一天晚上,父亲把无忧接回了祖父家,告诉无忧还有一周就要去小学做入学测试了,需要她做好准备。无忧清晰地记得父亲帮她找了很多学校可能会问到的问题,除了一些简单的考验智商的问题还有自我介绍。在一周的准备里,终于到了无忧去做入学测试的那一天,跟预想的一样,校长问了无忧的名字以及一些基础状况。没有意外,无忧顺利的上了小学。
上小学时,无忧已经6岁了,很多事情都记得比较清晰。先谈谈无忧的在校生活吧。在小学一年级的时候,不知道是否在家里太过压抑,在学校的她跟别的缺乏关爱的孩子不同,她特别外向多动。似乎是想得到别人更多的关注,她内心是渴望交到朋友找到感情的寄托和心灵的慰藉。然而小学的孩子哪懂那么多,很多小朋友他们在家里收到父母的关爱并且有着快乐的童年。对他们来说学校生活是难熬的;而对于无忧来说学校的生活是她最开心的时光。由于很多小伙伴不理解无忧的很多精力,因此无忧也只是跟他们保持着同学关系。在小学前三年,无忧的班主任是一个大专生,并且一个人教授她们数语外三科。现在看来当时的小学教育还不是很完善,无忧也没有学到什么真本事。但是这个姓余的班主任着实不配为人师,在多年后与一位当时的同学交谈中,无忧发现很多人都跟她一样收到了老师的体罚。在学“数几个方块”的章节时候,无忧由于体质不好得了肺炎,导致缺课两个月,在回归学校上课之后,由于打不上问题,被这个班主任掐腮。当时孩子都比较懦弱,没有及时跟家长反映。这个老师不仅虐待学生打击学生自信心,还在无忧三年级时候因怀孕讲课极其不认真,最后被无忧同班同学家长举报,无忧他们班才更换了班主任。到了小学四年级是无忧发现自己数学优势的一年,他们的数学老师是一位五十多返聘的教师,脾气特别不好而且对学生态度极其恶劣,但对当时的无忧比较欣赏。就这样无忧在小学的日子就这么过去了,而在这期间无忧在家里以及课外……