大一上学期Python大作业:
简述:
一. python turtle 库绘图,并实现动图效果
(1)篮球召唤阵
(2)铁山靠及打球
(3)哥哥投篮
(4)对鸽鸽的真心
二. 爬虫爬取鸡哥图片
(1)爬取图片
图片展示:
温馨提示:#输入0:篮球召唤阵、铁山靠和打篮球,输入1:爬虫,
代码展示:
import turtle as t
import random as ra
import warnings
import time
import datetime
import re
import os
import requests
from bs4 import BeautifulSoup
#输入0:篮球召唤阵、铁山靠和打篮球,输入1:爬虫,
warnings.filterwarnings('ignore')
ys=['red','orange','yellow','green','blue','cyan','purple','gold','pink','peru']
c=eval(input(''))
def y():#随机生成颜色
return ra.choice(ys)
def mb():#开始记录
t.penup()
t.home()
t.begin_poly()
def me(pn):#结束
t.end_poly()
poly = t.get_poly()
t.register_shape(pn, poly)
def xl(p):#模拟球的反弹效果
for i in range(p):
a.fd(i/25)
for i in range(p-25):
a.bk(p/25-1-i/30)
def pq():#拍球
a.showturtle()
for i in range(2):
for i in range(100):
a.fd(i/25)
for i in range(100):
a.bk(4-i/25-0.13)
def yq():#运球
a.showturtle()
for i in range(2):
a.lt(45)
for i in range(118):
a.fd(i/25)
a.lt(90)
jg.bk(610)
for i in range(118):
a.fd(118/25-i/25)
for i in range(118):
a.bk(i/25)
a.lt(90)
jg.fd(610)
for i in range(118):
a.fd(118/25-i/25)
a.left(135)
def yl():#投球
a.hideturtle()
a.left(161)
a.showturtle()
for i in range(110):
if i<=50:
a.fd(7-i/50)
a.right(1)
else:
a.fd(5+i/50)
a.right(1)
a.right(50)
xl(135)
xl(118)
a.forward(100)
a.hideturtle()
a.home()
a.showturtle()
def f(a,b,y=10):#画箭,a,b为箭尖坐标
global l
l=y
t.penup()
t.goto(a,b)
t.pendown()
t.pencolor("pink")#画半颗爱心
t.fillcolor("pink")
t.begin_fill()
t.fd(4*y)
t.circle(2*y,180)
t.right(135)
t.penup()
t.fd(8.5*y)
t.pensize(0.9*y)
t.pencolor('NavajoWhite3')
for i in range(3):#画箭羽
t.penup()
t.fd(1.5*y)
t.pendown()
t.left(45)
for z in range(2):
t.fd(3*y)
t.bk(3*y)
t.right(90)
t.left(135)
t.pensize(0.6*y)#画箭体
t.pencolor('brown4')
t.bk(13*y)
t.left(45)
t.pencolor("pink")#画另外半颗爱心
t.fillcolor("pink")
t.pensize(0.1*y)
t.circle(2*y,180)
t.fd(4*y)
t.end_fill()
def z(x,m,z):#画内层爱心,x为距离,m为大小,z为颜色, x+y应为4*y
t.penup()
t.bk(x)
t.left(90)
t.fd(x)
t.fillcolor(z)
t.begin_fill()
t.fd(m)
t.circle(m/2,180)
t.right(90)
t.circle(m/2,180)
t.fd(m)
t.end_fill()
t.penup()
t.fd(x)
t.left(90)
t.bk(x)
t.right(90)
z(y,3*y,'red')
z(2*y,2*y,'red3')
z(3*y,y,'red4')
t.left(90)
def il(a,b,c