继续上一周的课程,如果对基础有问题的,可以参照上一周
第二周
本周有五个问题,为的是熟悉turtle库,对turtle库不熟悉的可以参照这篇blog
编写python程序时,注意缩进,缩进是格式控制符非常关键。
题目1
练练“手”,启动idle,新建文件,请根据视频或PPT中内容,将“温度转换”和“蟒蛇绘制”,两个程序逐行输入其中,并运行效果。
程序1 温度转换,华氏和摄氏互相转换。
TempConvert.py
val=input("请输入带温度表示符号的温度值(例如:32C):" )
if val[-1] in ['c','C']:
f=1.8*float(val[0:-1]) + 32
print("转换后的温度为:%.2fF"%f)
elif val[-1] in ['f', 'F']:
c=(float(val[0:-1])-32) / 1.8
print("转换后的温度为:%.2fC"%c)
else:
print("输入有误")
程序2 爬行的蛇绘制
import turtle
colors=["red","yellow",'purple','blue']
def drawSnake(rad,angle,len,neckrad):
u=1
for i in range(len):
#轨迹半径的位置,幅度值
turtle.circle(rad,angle)
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
#爬行的距离
turtle.fd(rad)
# turtle.color(colors[u%4])
u=u+1
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)
def main():
#画布原点,以及大小
turtle.setup(1300,800,0,0)
#轨迹的宽度
pythonsize=30
turtle.pensize(pythonsize)
#轨迹的颜色,可以用数字调用
turtle.pencolor("blue")
#启示角度
turtle.seth(-30)
drawSnake(40,80,5,pythonsize/2)
main()
题目2(2)温度转换程序
采用eval()函数替换温度转换程序中的float()函数,观察运行结果。
TempConvert.py
val=input("请输入带温度表示符号的温度值(例如:32C):" )
if val[-1] in ['c','C']:
f=1.8*eval(val[0:-1]) + 32
print("转换后的温度为:%.2fF"%f)
elif val[-1] in ['f', 'F']:
c=(eval(val[0:-1])-32) / 1.8
print("转换后的温度为:%.2fC"%c)
else:
print("输入有误")
这个的答案来自百度知道,希望大家有建议的可以随便提一提
eval函数将字符串当成有效Python表达式来求值,并返回计算结果 x = 1eval(‘x+1’)eval(‘x==1’)与之对应的repr函数,它能够将Python的变量和表达式转换为字符串表示 repr(x==1)repr(x+1)。
题目3
彩色蟒蛇绘制
修改“蟒蛇绘制”程序,对Python蟒蛇的每个部分采用不同颜色,绘制一条彩色蟒蛇。
import turtle
colors=["red","yellow",'purple','blue']
def drawSnake(rad,angle,len,neckrad):
u=1
for i in range(len):
#轨迹半径的位置,幅度值
turtle.circle(rad,angle)
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
#爬行的距离
turtle.fd(rad)
turtle.color(colors[u%4])
u=u+1
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)
def main():
#画布原点,以及大小
turtle.setup(1300,800,0,0)
#轨迹的宽度
pythonsize=30
turtle.pensize(pythonsize)
#轨迹的颜色,可以用数字调用
turtle.pencolor("blue")
#启示角度
turtle.seth(-30)
drawSnake(40,80,5,pythonsize/2)
main()
这个程序与之前的不同之处在于,我对 turtle.color(colors[u%4])的循环调用。
题目(4)
蟒蛇绘制,修改“蟒蛇绘制”程序中seth()函数的参数值,观察所绘制蟒蛇的变化。
seth()函数可以修改蟒蛇的方向。
题目(5)
绘制等边三角形
使用turtle库中turtle.fd()函数和turtle.seth()函数绘制一个等边三角形。
from turtle import *
forward(200) seth(120) forward(200) seth(240) forward(200) seth(0)
设定三个角度后,各自前进200.
题目(6)
理解turtle库的使用。
重新看第一周练习题,尝试理解其中(7),(8)程序的含义。
可以看看这个链接。