task1_1.py
code:
from turtle import * def move(x, y): penup() goto(x, y) pendown() def draw(n, size = 100): for i in range(n): fd(size) left(360/n) def main(): pensize(10) pencolor('blue') hideturtle() move(-200, 0) draw(3) move(0, 0) draw(4) move(200, 0) draw(5) hideturtle() done() main()
output:

task1_2.py
code:
from turtle import * def moveto(x, y): penup() goto(x, y) pendown() def main(): pensize(2) pencolor('blue') moveto(-150, 0) circle(50) moveto(0, 0) circle(50, steps = 4) moveto(150, 0) circle(50, steps = 5) moveto(300, 0) circle(50, steps = 6) hideturtle() done() main()
output:

task2.py
code:
from turtle import * from random import random def moveto (x,y): penup() goto(x,y) pendown() def gen_color(): return tuple((random() for i in range(3))) def main(): setup(800,600) speed(0) hideturtle() radius = 180 offset = 20 for i in range(9): moveto(0,-radius) color(gen_color()) begin_fill() circle(radius) end_fill() radius -= offset done() main()
output:

task3_1.py
code:
from turtle import * def square(size = 50, rgb = 'orange'): pencolor(rgb) k = 4 for i in range(k): fd(size) left(360/k) def main(): setup(800,600) speed(0) hideturtle() n = 10 for i in range(n): square(80) left(360/n) done() main()
output:
task3_2.py
code:
from turtle import * setup(800,800) #setup window's size pencolor('pink') n = 10 speed(0) for i in range (n): for j in range(2): circle(80,90) left(90) right(360/n) hideturtle() done()
output:
task4.py
code:
from turtle import * setup(800,600) bgcolor('black') pencolor('white') speed(0) angle = 0 size = 2 k = 0 n = 5 count = 50 for i in range(count): fd(size) angle += 360/n + k seth(angle) size += 5 hideturtle() done()
output:
task5_1.py
code:
from turtle import * import math setup(700,700) def square(size = 50, rgb = 'black'): pencolor(rgb) k = 4 for i in range(k): fd(size) left(360/k) def moveto(x,y): penup() goto(x,y) pendown() def main_1(): speed(0) moveto(-100,-100) color('black') begin_fill() square(200) end_fill() hideturtle() def main_2(): speed(0) moveto(0,-100) color('red') begin_fill() left(45) square(100*math.sqrt(2)) end_fill() done() main_1() main_2()
output:
task5_2.py
code:
from turtle import * setup(400, 400) def moveto(x,y): penup() goto(x,y) pendown() def main(): color('blue') pensize(3) n = 20 radium = 40 speed(0) for i in range(1): moveto(n,0) left(90) circle(radium, 90) radium += 20 n += 20 for i in range(4): moveto(n, 0) left(-90) circle(radium, 90) radium += 20 n += 20 left(90) fd(radium-20) left(90) fd(radium-20) hideturtle() done() main()
output:
task6_1.py
code:
from turtle import * from random import random setup(800,600) def moveto (x,y): penup() goto(x,y) pendown() def gen_color(): return tuple((random() for i in range(3))) def square(size = 50, rgb = 'black'): k = 4 for i in range(k): fd(size) left(360/k) def main() : speed(0) n = 20 moveto(0,0) for i in range (20): k = gen_color() color(k) pencolor(k) begin_fill() square(20) end_fill() moveto(n,0) n+=20 hideturtle() done() main()
output:
task7_1.py
code:
from matplotlib import pyplot as plt def func(x): return 4*x*(1-x) def gen_list(x,n): ans = [] for i in range(n): t = func(x) ans.append(t) x = t return ans def main(): n = 30 lst1 = gen_list(0.2,n) lst2 = gen_list(0.2000001,n) x = list(range(1,31)) plt.plot(x, lst1, 'ro-', x, lst2, 'bs-') # 绘制折线图 plt.xticks(list(range(1, 31, 4))) # 设置x轴刻度 plt.legend(['x = 0.2', 'x = 0.2000001']) # 设置图例 plt.show() main()
output:
task8_1.py
code:
import jieba from wordcloud import WordCloud # 从wordcloud模块导入词云类WordCloud from matplotlib import pyplot as plt text = '''requests是一个常用的HTTP请求库,可以方便地向网站发送HTTP请求,并获取响应结 果。 Scrapy是一个开源和协作框架,用于从网站中提取数据,是最流行的爬虫框架。 SciPy是一个开源的Python算法库和数学工具包,它基于Numpy,用于数学、科学、工程学等领 域。''' word = jieba.lcut(text) # 使用jieba模块的函数lcut()对中文文本进行精确分词 t = ' '.join(word) t_wc = WordCloud(font_path = 'msyh.ttc').generate(t) # 创建WordCloud对象,使用其方法generate()生成词云 t_wc.to_file('wordcloud.png') # 保存词云图片 plt.imshow(t_wc) # 在屏幕上显示词云 plt.axis('off') plt.show()
output:







