2023年6月5日【实验6】吴曦远202283820011

发布时间 2023-06-06 10:05:37作者: 吴曦远123

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: