1. 统计一个英文单词的集合中包含全部是小写字母的单词总数。
strings = { 'cad', 'PE ', 'Window', 'FM', 'hello', 'world','flowers' }
n = 0
for word in strings:
if word.islower():
n += 1
print(n)
2. 根据列表中保存的数据采用turtle库画图直方图,显示输出在屏幕上,效果如下图所示。
import turtle as t
ls = [69, 292, 33, 131, 61, 254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100
t.penup() #抬起画笔,移动时不绘制轨迹。
t.goto(x0, y0) #将画笔移动到指定坐标(x0, y0)
t.pendown() #放下画笔,移动时绘制轨迹。
t.fd(X_len) #从x、y轴的交点出发,沿x轴移动400像素
t.fd(-X_len) #沿x轴端点往回绘制,最终返回到x、y轴的交点
t.seth(90) #改变海龟朝向,准备绘制y轴
t.fd(Y_len) #从x、y轴的交点出发,沿y轴移动300像素
t.pencolor('red') #设置画笔颜色
t.pensize(5) #设置画笔宽度
for i in range(len(ls)) :
t.penup()
t.goto(x0 + (i + 1) * 50, y0)
t.seth(90) #设置海龟朝向,垂直向上绘制直线
t.pendown()
t.fd(ls[i]) #移动距离为列表里的数值
t.done()
3. 利用random库和turtle库,在屏幕上绘制5个圆圈,圆圈的半径和圆初始坐标由randint()函数产生,圆的X和Y坐标范围在[-100,100]之间;半径的大小范围在[20,50]之间,圆圈的颜色随机在color列表里选择。
import turtle as t
import random as r
color = ['red','orange','blue','green','purple']
r.seed(1)
for i in range(5):
rad = r.randint(20, 50) #半径
x0 = r.randint(-100, 100) #圆心坐标(x0,y0)
y0 = r.randint(-100, 100)
t.color(r.choice(color)) #圆圈的颜色
t.penup()
t.goto(x0, y0)
t.pendown()
t.circle(rad)
t.done()
random.choice()是一个用于从给定的序列中随机选择一个元素的函数。
具体来说,它从一个可迭代对象(如列表、元组或字符串)中随机返回一个元素。
例:
import random
options = ["Option A", "Option B", "Option C"]
random_choice = random.choice(options)
print("Randomly selected option:", random_choice)
#输出结果:从options列表中随机选择一个元素,并将其打印出来。每次运行程序,选择的结果可能不同,因为它是随机的。
4. 使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形。
import turtle
turtle.pensize(2)
for i in range(4) :
turtle.fd(200)
turtle.left(90)
turtle.left(-45)
turtle.circle(100 * pow(2, 0.5)) #半径=正方形对角线长度的一半=根号2*正方形边长*1/2
5. 使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100像素的正五边形,在考生文件夹下给出了程序框架文件PY201.py,在横线处补充代码,不得修改其他代码。效果如下图所示:
import turtle
turtle.pensize(2)
d = 0
for i in range(1, 6):
turtle.fd(100)
d += 72
turtle.seth(d)
6. 利用random库和turtle库,在屏幕上绘制4个小雪花,雪花的中心点坐标由列表points给出,雪花的半径长度由randint()函数产生。雪花的颜色是红色。
import turtle as t
import random as r
r.seed(1)
t.pensize(2)
t.pencolor('red')
angles = 6 #六边形雪花
points= [[0,0], [50,40], [70,80], [-40,30]] #雪花中心点的坐标
for i in range(4): #绘制4个小雪花
x0,y0 = points[i]
t.penup()
t.goto(x0, y0)
t.pendown()
length = r.randint(6, 16) #雪花半径长度
for j in range(angles): #六条边
t.fd(length) #从中心点出发绘制
t.backward(length) #画完边后返回中心点
t.right(360 / angles) #每次改变60°(顺时针)
t.done()
7. 利用random库和turtle库,在屏幕上绘制3个黑色的正方形,正方形的左下角点坐标和正方形边长由randint()函数产生,参数在代码中给出。
import turtle as t
import random as r
r.seed(1)
t.pensize(2)
for i in range(3):
length = r.randint(20, 80)
x0 = r.randint(-100, 100)
y0 = r.randint(-100, 100)
t.penup()
t.goto(x0, y0)
t.pd()
for j in range(4):
t.fd(length)
t.seth(90 * (j + 1))
t.done()
8. 使用turtle库绘制三个彩色的圆,圆的颜色按顺序从颜色列表color中获取,圆的圆心位于(0,0)坐标处,半径从里至外分别是10像素,30像素,60像素。
import turtle as t
color = ['red','green','blue']
rs = [10, 30, 60] #圆的半径
for i in range(3): #绘制三个圆
t.penup()
t.goto(0, -rs[i]) #从圆的底部开始,逆时针绘制图形
t.pd()
t.pencolor(color[i])
t.circle(rs[i])
t.done()
9. 使用turtle库函数绘制4个等距排列的正方形,边长为40像素,间距宽度为40。最左边的正方形左上角坐标为(0,0)。
import turtle
n = 4
for j in range(n):
turtle.pendown()
for i in range(4):
turtle.fd(40)
turtle.right(90)
turtle.penup()
turtle.fd(80)
turtle.done()
10. 使用turtle库,在屏幕上绘制正方形及其内接圆形。其中,正方形左下角坐标为(0,0)边长为黑色,长度200像素,线宽1像素;内切圆为绿色,线宽5像素,内部以红色填充。
import turtle as t
for i in range(4):
t.fd(200) #起点在正方形左下角
t.left(90)
t.penup()
t.goto(100, 0) #将画笔移动到底部中心点
t.pendown()
t.color('green', 'red') #绿色描边,黑色填充
t.pensize(5)
t.begin_fill()
t.circle(100)
t.end_fill()
t.done()
11. 实现下面功能:(1)使用turtle库和random库,在屏幕上绘制5个彩色的圆;(2)圆的颜色随机从颜色列表color中获取;(3)圆的起始坐标x和y值从范围[-100,100]之间选取,半径从范围[10,30]之间选取。
import turtle as t
import random as r
color = ['red','green','blue','purple','black']
r.seed(1)
for j in range(5):
t.pencolor(color[r.randint(0,4)])
t.penup()
t.goto(r.randint(-100, 100),r.randint(-100, 100))
t.pendown()
t.circle(r.randint(10, 30))
t.done()
12. 使用turtle库和random库,绘制四个彩色的正方形,正方形颜色随机从颜色列表color中获取。正方形边长从范围[50,20]之间选取,每个正方形左下角坐标x如和y从范围[-100,100]之间选取。
import turtle as t
import random as r
color = ['red','blue','purple','black']
r.seed(1)
for j in range(4):
t.pencolor(color[r.randint(0,3)])
t.penup()
t.goto(r.randint(-100, 100), r.randint(-100, 100))
t.pendown()
ra = r.randint(50, 200)
for i in range(1, 5):
t.fd(ra)
t.seth(90 * i)
t.done()
总结
在使用Python中的turtle第三方库进行绘图时,以下是一些常用的函数:
- turtle.forward(distance):向当前方向移动指定距离。缩写为turtle.fd()
- turtle.backward(distance):向相反方向移动指定距离。
- turtle.left(angle):左转指定角度(逆时针)。
- turtle.right(angle):右转指定角度(顺时针)。
- turtle.penup():抬起画笔,移动时不绘制轨迹。
- turtle.pendown():放下画笔,移动时绘制轨迹。缩写为turtle.pd()
- turtle.pencolor(color):设置画笔颜色。
- turtle.pensize(width):设置画笔宽度。
- turtle.circle(radius):绘制圆形。
- turtle.clear():清除turtle图形绘制的内容。
- turtle.done():完成图形绘制,显示图形窗口。
- turtle.goto(x, y):将画笔移动到指定坐标(x, y)
- turtle.seth():设置海龟朝向(角度方向)