编程非常需要创造性,同样的问题可以有许多种解决方案。大创意通常都是从小改变开始的:为了改善整体而进行微小的调整。
本章学习如何编程让计算机根据代码中的条件来做出决策。
我们必须告诉计算机怎么做决定,或遇到不同的情况该怎样处理,这个过程被称为“选择”。
这一章,我们学习了两种类型的选择:
1)使用if语句对条件进行判断
2)使用if-else 语句组合在两种相互替代的程序路径中做出选择
在和孩子游戏时,可以玩这样的选择游戏:
如果我拍一次手,你就要说:“哇哦!”
如果我拍两次手,你就要跳一下
如果我拍三次手,你就要在原地转一圈
在日常生活中可以这样和孩子互动,通过不同条件,做出相应决策:
A同学家没有小汽车
B同学有小汽车
一天,A,B同学相约去海滩。A同学有三种交通方案:
如果去海滩当天,B同学能如约前来,那么,A同学就坐B同学家的小汽车去海滩。
如果去海滩当天,B同学不能如约前来,那么,A同学仍然想去海滩,就坐地铁自己去海滩了
如果去海滩当天,B同学不能如约前来,那么,A同学由于没有同伴也不去海滩了。
编程挑战:
#1,彩色玫瑰花瓣和螺旋线
通过一条if 语句实现由玫瑰花瓣和小螺旋线组成的螺旋线
importturtle# 导入turtle库
t = turtle.Pen()
t.speed()
t.hideturtle()# 隐藏箭头
turtle.bgcolor("black")
defdraw_kaleido(x,y):# 画万花筒
draw_smiley(x,y)# 画第一个笑脸
draw_smiley(-x,y)# 画水平镜像笑脸
draw_smiley(-x,-y)# 画对角镜像笑脸
draw_smiley(x,-y)# 画垂直镜像笑脸
defdraw_spiral(x,y,size):# 画螺旋线
t.penup()# 抬起画笔
t.setpos(x,y)# 设置画笔位置
t.pendown()# 画笔落下
forminrange(size):# 画螺旋线
t.forward(m *2)
t.left(92)
defdraw_smiley(x,y):# 画笑脸
t.penup()# 抬起画笔
t.setpos(x,y)# 设置画笔位置
t.pendown()# 画笔落下
# Face 画脸
t.pencolor("yellow")# 设置画笔颜色
t.fillcolor("yellow")# 设置填充颜色
t.begin_fill()# 开始填充
t.circle(50)# 画圆
t.end_fill()# 结束填充
# Left eye 画左眼
t.setpos(x -15,y +60)# 设置画笔位置
t.fillcolor("blue")# 设置填充颜色
t.begin_fill()# 开始填充
t.circle(10)# 画圆
t.end_fill()# 结束填充
# Right eye 画右眼
t.setpos(x +15,y +60)# 设置画笔位置
t.begin_fill()# 开始填充
t.circle(10)# 画圆
t.end_fill()# 结束填充
# Mouth 画嘴
t.setpos(x -25,y +40)# 设置画笔位置
t.pencolor("black")# 设置画笔颜色
t.width(10)# 设置画笔大小 10
t.goto(x -10,y +20)# 画线条
t.goto(x +10,y +20)# 画线条
t.goto(x +25,y +40)# 画线条
t.width(1)# 设置画笔大小 1
turtle.onscreenclick(draw_kaleido)# 监听鼠标点击
turtle.done()# 关闭turtle
效果图:
#2:用户定义的秘钥
要清楚地知道,这个程序并不是加密消息的一种安全方式,能够解开报纸上的谜题游戏的任何人,都能够读懂你用它加密的消息。因此,将它当用和朋友之间的一种游戏来玩吧
领取专属 10元无门槛券
私享最新 技术干货