task1
task1_1
1 from turtle import * 2 3 def move(x, y): 4 penup() 5 goto(x, y) 6 pendown() 7 8 def draw(n, size = 100): 9 for i in range(n): 10 fd(size) 11 left(360/n) 12 13 def main(): 14 pensize(2) 15 pencolor('red') 16 17 move(-200, 0) 18 draw(3) 19 20 move(200, 0) 21 draw(4) 22 23 move(200, 0) 24 draw(5) 25 26 hideturtle() 27 done() 28 29 main()
结果:
task1_2
1 from turtle import * 2 3 def moveto(x, y): 4 penup() 5 goto(x, y) 6 pendown() 7 8 def main(): 9 pensize(2) 10 pencolor('blue') 11 12 moveto(-150, 0) 13 circle(50) 14 15 moveto(0, 0) 16 circle(50, steps = 4) 17 18 moveto(150, 0) 19 circle(50, steps = 5) 20 21 moveto(300, 0) 22 circle(50, steps = 6) 23 24 hideturtle() 25 done() 26 27 main()
结果:
task2
task2_1
1 from turtle import * 2 3 def moveto(x, y): 4 penup() 5 goto(x, y) 6 pendown() 7 8 def main(): 9 setup(800, 600) 10 11 radius = 20 #圆初始半径 12 offset = 20 #同心圆每次位移量 13 14 for i in range(9): 15 moveto(0, - radius) 16 circle(radius) 17 radius += offset 18 19 hideturtle() 20 done() 21 22 main()
结果
task2_2
1 from turtle import * 2 from random import random 3 4 speed(0) 5 6 def moveto(x, y): 7 penup() 8 goto(x, y) 9 pendown() 10 11 def gen_color(): 12 return tuple(random() for i in range(3)) 13 14 def main(): 15 setup(800, 600) #设置画板尺寸大小 16 17 radius = 180 #圆初始半径 18 offset = 20 #同心圆每次位移量 19 20 for i in range(8): 21 moveto(0, -radius) 22 color(gen_color()) 23 24 begin_fill() 25 circle(radius) 26 end_fill() 27 hideturtle() 28 29 radius -= offset 30 31 hideturtle() 32 done() 33 main()
结果:
task3
task3_1
1 from turtle import * 2 3 def square(size = 50, rgb = 'pink'): 4 5 pencolor(rgb) 6 for i in range(4): 7 fd(size) 8 left(90) 9 10 def main(): 11 setup(800, 600) 12 speed(0) #调整速度 13 14 n = 3 15 for i in range(n): 16 square(160) 17 left(360/n) 18 19 hideturtle() 20 done() 21 22 main()
结果
task3_1_1
1 from turtle import * 2 3 def square(size = 50, rgb = 'black'): 4 5 pencolor(rgb) 6 for i in range(4): 7 fd(size) 8 left(90) 9 10 def main(): 11 setup(800, 600) 12 speed(0) #调整速度 13 14 n = 10 15 for i in range(n): 16 square(160) 17 left(360/n) 18 19 hideturtle() 20 done() 21 22 main()
结果:
task3_2
1 from turtle import * 2 3 setup(800, 600) 4 pencolor('pink') 5 pensize(5) 6 speed(0) 7 8 n = 4 9 for i in range(4): 10 for j in range(2): 11 circle(150, 100) 12 left(80) 13 14 right(360/n) 15 16 hideturtle() 17 done()
结果:
task3_2_1
1 from turtle import * 2 3 setup(800, 600) 4 pencolor('pink') 5 pensize(5) 6 speed(0) 7 8 n = 10 9 for i in range(n): 10 for j in range(2): 11 circle(150, 100) 12 left(80) 13 14 right(360/n) 15 16 hideturtle() 17 done()
结果:
task4
task4_1
1 from turtle import * 2 3 setup(800, 600) 4 bgcolor('black') 5 pencolor('white') 6 speed(0) 7 pensize(4) 8 9 angle = 0 10 size = 2 11 12 n = 4 13 count = 100 14 for i in range(count): 15 fd(size) 16 angle += 360/n + 1 17 seth(angle) 18 size += 5 19 20 hideturtle() 21 done()
结果:
task4_2
1 from turtle import * 2 3 setup(800, 600) 4 bgcolor('black') 5 pencolor('white') 6 speed(0) 7 pensize(4) 8 9 angle = 0 10 size = 2 11 12 n = 5 13 count = 50 14 for i in range(count): 15 fd(size) 16 angle += 360/n 17 seth(angle) 18 size += 5 19 20 hideturtle() 21 done()
结果;
task5
task5_1
1 from turtle import * 2 from math import * 3 4 setup(800, 600) 5 6 def moveto(x, y): 7 penup() 8 goto(x, y) 9 pendown() 10 11 def square(lenth, encolor, bccolor): 12 pencolor(encolor) 13 color(bccolor) 14 begin_fill() 15 for i in range(4): 16 fd(lenth) 17 left(90) 18 end_fill() 19 20 def main(): 21 moveto(-100, 0) 22 square(200, 'blue', 'pink') 23 moveto(0, 0) 24 left(45) 25 square(100*sqrt(2), 'blue', 'yellow') 26 27 hideturtle() 28 done() 29 30 main()
结果:
task5_2
from turtle import * pencolor('pink') pensize(5) speed(0) setup(800, 600) radius = 20 offset = 20 n = 10 for i in range(n): fd(radius) left(90) circle(radius, 90) left(90) fd(radius) left(90) radius += offset
结果:
task6
1 from turtle import * 2 from random import random 3 4 setup(800, 600) 5 speed(0) 6 pensize(4) 7 8 def racolor(): 9 return tuple((random() for i in range(3))) 10 11 def main(): 12 n = 20 13 radius = 300 14 offset = 15 15 long = 30 16 for i in range(n): 17 color(racolor()) 18 begin_fill() 19 fd(radius) 20 left(90) 21 fd(long) 22 left(90) 23 fd(radius) 24 left(90) 25 fd(long) 26 left(90) 27 radius -= offset 28 end_fill() 29 30 hideturtle() 31 done() 32 33 main()
结果;
task7
1 ''' 2 f(x) = 4x(1-x) 3 f(0.2) vs f(0.2000001) 4 ''' 5 6 from matplotlib import pyplot as plt 7 8 def func(x): 9 return 4*x*(1-x) 10 11 def gen_lst(x, n): 12 ans = [] 13 for i in range(n): 14 t = func(x) 15 ans.append(t) 16 x = t 17 return ans 18 19 def main(): 20 n = 30 21 22 lst1 = gen_lst(0.2, n) 23 lst2 = gen_lst(0.2000001, n) 24 25 x = list(range(1, 31)) 26 plt.plot(x, lst1, 'ro-', x, lst2, 'bs-') #绘制折线图 27 plt.xticks(list(range(1, 31, 4))) #设置x轴刻度 28 plt.legend(['x = 0.2', 'x = 0.2000001']) #设置图例 29 plt.show() #画出来 30 31 main()
结果:
task8
1 import jieba 2 from wordcloud import WordCloud 3 from matplotlib import pyplot as plt 4 5 text = '''requests是一个常用的HTTP请求库,可以方便地向网站发送HTTP请求,并获取响应结 6 果。 7 Scrapy是一个开源和协作框架,用于从网站中提取数据,是最流行的爬虫框架。 8 SciPy是一个开源的Python算法库和数学工具包,它基于Numpy,用于数学、科学、工程学等领 9 域。''' 10 11 word = jieba.lcut(text) #使用jieba模块的函数lcut()对中文文本进行精确分词 12 13 t = ' '.join(word) 14 t_wc = WordCloud(font_path = 'msyh.ttc').generate(t) #创建wordcloud对象,使用其他方法generate()生成词云 15 t_wc.to_file('wordcloud.png') #保存词云图片 16 17 plt.imshow(t_wc) 18 plt.axis() 19 plt.show()
结果: