Python绘制随机彩色蟒蛇方法浅析

 更新时间:2022年12月30日 14:35:54   作者:破壁人x  
这篇文章主要介绍了python实现绘制随机彩色蟒蛇的效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

今天老师提出了一个问题就是用turtle库绘制随机颜色的蟒蛇 并且每段的颜色都是不一样的 所以我写了这段代码 这段代码的思路是把不同颜色通过字典的方式存起来 通过随机数库就可以随机生成对应的key来调用这些颜色从而实现随机颜色的效果

import turtle
import random#导入随机数模块实现随机颜色的功能
#把不同颜色用字典的方式储存 key为1到6的整数
colors = {1:'blue',2:'yellow',3:'red',4:'purple',5:'black',6:'green'}
turtle.setup(650,350,200,200)
turtle.pu()
turtle.fd(-250)
turtle.pendown()
turtle.width(25)
turtle.seth(-40)
for i in range(4):
    a = random.randrange(1,7)#获取随机数并赋值给a
    turtle.pencolor(colors[a])#通过索引的方式选择颜色(颜色是随机的)
    turtle.circle(40,80)
    a = random.randrange(1,7)#获取随机数并赋值给a
    turtle.pencolor(colors[a])#通过索引的方式选择颜色(颜色是随机的)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

这个是运行结果

不过这样子把一个一个颜色存进去太过麻烦 而且颜色太少了只局限于黑,绿 蓝,红,黄这几种颜色 没有达到随机颜色的目的 所以我加以改进 代码如下

import turtle
import random  # 导入随机数模块实现随机颜色的功能
turtle.colormode(255)  # 把颜色表示法取值的模式从[0-1]之间改成[0-255]
#定义一个生成颜色的模块
def colorchoose():
    a, b, c = random.randrange(0, 256), random.randrange(0, 256), random.randrange(0, 256)
    color = (a, b, c)
    return color   #返回值是一个rgb颜色
turtle.setup(650, 350, 200, 200) 
turtle.pu()
turtle.fd(-250)
turtle.pendown()
turtle.width(25)
turtle.seth(-40)
for i in range(4):
    turtle.pencolor(colorchoose())  # 调用模块 随机生成rgb颜色
    turtle.circle(40, 80)
    turtle.pencolor(colorchoose())  # 调用模块 随机生成rgb颜色
    turtle.circle(-40, 80)
turtle.circle(40, 80 / 2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2 / 3)
turtle.done()

这段代码里的颜色变换直接取决于rgb颜色的三个参数 所以我让他们变为随机的 范围定在0-255(注:python里的rgb颜色参数模式默认是0-1 用turtle的话需要用turtle.colormode(255) 语句把模式转换成0-255否则会报错) 定义了一个模块的原因是因为不停通过赋值的方式改变rgb的三个参数是在太麻烦 所以通过调用具有生成随机颜色功能的模块的方式更加省力 以下是运行结果

看,随机颜色的功能是不是实现了?

到此这篇关于Python绘制随机彩色蟒蛇方法浅析的文章就介绍到这了,更多相关Python绘制彩色蟒蛇内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 10个Python常用的损失函数及代码实现分享

    10个Python常用的损失函数及代码实现分享

    损失函数是一种衡量模型与数据吻合程度的算法。损失函数测量实际测量值和预测值之间差距的一种方式。本文为大家总结了10个常用的损失函数及Python代码实现,需要的可以参考一下
    2022-09-09
  • Python中logger模块的使用场景分析

    Python中logger模块的使用场景分析

    logger是python的内置模块,用以输出代码运行过程中的运行情况,极大的方便了我们的debug过程,本文通过实例代码给大家介绍了Python中logger模块的使用教程,需要的朋友可以参考下
    2023-06-06
  • Django3中的自定义用户模型实例详解

    Django3中的自定义用户模型实例详解

    这篇文章主要给大家介绍了关于Django3中自定义用户模型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 基于Python实现Hash算法

    基于Python实现Hash算法

    这篇文章主要介绍了基于Python实现Hash算法,最简单的hash算法是用取余的方式,根据hash地址存放数据,这需要提供键值对Key地址,value是存放的数据,下文相关内容需要的小伙伴可以参考一下
    2022-03-03
  • python实现猜拳游戏项目

    python实现猜拳游戏项目

    这篇文章主要为大家详细介绍了python实现猜拳游戏项目,以excel形式保存信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • TensorFlow实现Batch Normalization

    TensorFlow实现Batch Normalization

    这篇文章主要为大家详细介绍了TensorFlow实现Batch Normalization,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python日志模块logging简介

    Python日志模块logging简介

    这篇文章主要介绍了Python日志模块logging简介,本文讲解了Logger、Handler、Formatter、日志配置管理、通过文件配置管理日志等内容,需要的朋友可以参考下
    2015-04-04
  • python中opencv图像叠加、图像融合、按位操作的具体实现

    python中opencv图像叠加、图像融合、按位操作的具体实现

    opencv图像操作可以更好更快的方便我们处理图片,本文主要介绍了图像叠加、图像融合、按位操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Python Websocket服务端通信的使用示例

    Python Websocket服务端通信的使用示例

    这篇文章主要介绍了Python Websocket服务端通信的使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Python的赋值、深拷贝与浅拷贝的区别详解

    Python的赋值、深拷贝与浅拷贝的区别详解

    这篇文章主要介绍了Python的赋值、深拷贝与浅拷贝的区别,需要的朋友可以参考下
    2020-02-02

最新评论