欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Phython画星空(较复杂)

程序员文章站 2022-07-08 13:27:07
Phython画星空(较复杂)import turtle#画画需要引入turtle库import random#使用随机数需要引入randomturtle.colormode(255)#绘画需要颜色,括号中填写255t = turtle.Turtle()#创建一支笔,不要漏下括号turtle.bgcolor(101,124,233)#使用rag三色模式调整颜色t.speed(0)#画笔的速度li = ["white","yellow","gold"]#列表里的颜色为接下来画星星时笔的颜色和...

Phython画星空(较复杂)

import turtle#画画需要引入turtle库
import random#使用随机数需要引入random

turtle.colormode(255)#绘画需要颜色,括号中填写255
t = turtle.Turtle()#创建一支笔,不要漏下括号
turtle.bgcolor(101,124,233)#使用rag三色模式调整颜色

t.speed(0)#画笔的速度
li = ["white","yellow","gold"]#列表里的颜色为接下来画星星时笔的颜色和填充颜色
for j in range(1000):#大循环开始,不要漏下冒号
#Python中根据缩进判断循环开始与结束
    temp1 = random.choice(li)#从列表中随机的选择颜色
    #之所以设置一新变量选择颜色,是因为如果画星星笔的颜色和填充颜色分开随机选择,二者颜色有可能不同
    t.fillcolor(temp1)
    t.color(temp1)#此处画星星笔的颜色和填充颜色均是上面所取的随机颜色,确保了颜色相同
    t.begin_fill()#开始填充颜色
    temp2 = random.randint(5,15)#前闭后闭,设置星星的大小
    li2 = [5,7,9]#列表中的数字为接下来星星的边数
    temp3 = random.choice(li2)#从列表中随机的选择一个数
    #之所以设置一新变量选择星星的边长,是因为如果画星星时分开随机选择,可能导致星星边长不同
    for i in range(temp3):#小循环1开始画星星
        t.forward(temp2)
        t.left(180-180/temp3)#注意此处的表示
    t.end_fill()#结束填充颜色
    t.penup()#抬笔
    for i in range(2):#小循环2开始,寻找新的位置画星星
        t.left(random.randint(10,90))
        t.forward(random.randint(10,200))
    t.pendown()#落笔

turtle.done()#绘画结束

结果如图
Phython画星空(较复杂)

本文地址:https://blog.csdn.net/weixin_51057554/article/details/109613358

相关标签: python