用python 画几个简单图案

用python 画几个简单图案1turtleturtle这个库真的很好玩,用很简单几行代码就能画出好看的图案,最近无聊翻了翻之前自己画的哈哈哈哈,分享几个代码 画一个类似五颜六色的棒棒糖图案importturtl

大家好,又见面了,我是你们的朋友全栈君。

1 turtle

turtle这个库真的很好玩,用很简单几行代码就能画出好看的图案,最近无聊翻了翻之前自己画的哈哈哈哈,分享几个代码 画一个类似五颜六色的棒棒糖图案

import turtle  
turtle.pensize(5)  # 这里建议笔的粗细设置的更细一点,太粗了不太好看
color = ['orange','blue','yellow','black','green','tomato']  # 设置自己喜欢的几个颜色
for i in range(600):  # 让接下来的代码循环多少次,600次就够了,要是前面加入初始化,把画布设置的大一点可以设置次数更多
    turtle.pencolor(color[i%6])   #  因为设置了六个颜色,要是想基于其他形状的,记得有多少条边设置多少个颜色,这里取余也要调整
    turtle.fd(i*1.15)  # 可以自己去搜搜递增类型的函数 ,这里简单设置一个
    turtle.left(62)   # 我是基于正6变形画,每次左转60度,但是为了有交叉感,稍微增大几度

好了,看看这个的结果<span role="heading" aria-level="2">用python 画几个简单图案

 

2 利用matplotlib.pyplot画一个随机漫步

from random import choice  # random 的choice方法能够在你给出的结果里随机选择一个
import matplotlib.pyplot as plt  # 引入matplotlib

class Random_walk():
    def __init__(self,num_points=5000):
        """一个生成随机漫步数据的类"""
        self.num_points = num_points  #  初始化,先将x,y值都设置为0,同时需要自己设置行程多少个点(num_points)
        self.x_values = [0]
        self.y_values = [0]
    def fill_walk(self):
        while len(self.x_values) < self.num_points: # 设置循环到num_points次
            x_direction = choice([1,-1]) # x y 轴因为都有正负方向,随机选择前进方向以及距离
            x_distance = choice([0,1,2,3,4])
            x_step = x_direction * x_distance 

            y_direction = choice([1,-1])
            y_distance = choice([0,1,2,3,4])
            y_step = y_direction * y_distance

            if x_step == 0 and y_step ==0:
                continue
            next_x = self.x_values[-1] + x_step
            next_y = self.y_values[-1] + y_step
            self.x_values.append(next_x)
            self.y_values.append(next_y)
    def scatter(self):
            plt.scatter(self.x_values,self.y_values,s=5)
            
            plt.show()
            
mx = Random_walk()
mx.fill_walk()
mx.scatter()

2 例子的代码其实很简单,我自己比较懒,不喜欢写注释,直接看下结果吧

<span role="heading" aria-level="2">用python 画几个简单图案

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156031.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Oracle SEQUENCE 详细说明[通俗易懂]

    Oracle SEQUENCE 详细说明[通俗易懂]ORACLE SEQUENCE  ORACLE没有自增数据类型,如需生成业务无关的主键列或惟一约束列,可以用sequence序列实现。CREATESEQUENCE语句及参数介绍:创建序列:需要有CREATESEQUENCE或者CREATEANYSEQUENCE权限, CREATESEQUENCE[schema.]sequence  [{IN

    2022年10月18日
  • docker安装redis并以配置文件方式启动

    1.获取redis镜像dockerpullredis指定版本号:dockerpullredis:4.0.9不加版本号默认获取最新版本,也可以使用dockersearchredis查看镜像来源2.查看本地镜像dockerimages3.然后启动容器,做映射①创建配置文件目录存放redis.conf…

  • Maven打包三种方法和常用命令大全

    Maven打包三种方法和常用命令大全目录maven常用打包命令1方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包2方法二:使用maven-assembly-plugin插件打包在pom.xml中配置:3方法三:使用maven-shade-plugin插件打包在pom.xml中配置:maven常用打包命令1、mvncompile编译,将Java源程…

  • RabbitMQ VS Apache Kafka (九)—— RabbitMQ集群的分区容错性与高可用性

    RabbitMQ VS Apache Kafka (九)—— RabbitMQ集群的分区容错性与高可用性本章,我们讨论有关RabbitMQ的容错性,消息一致性及高可用性。RabbitMQ可以作为集群节点来运行,因此RabbitMQ通常被归为分布式消息系统,对于分布式消息系统,我们的关注点通常是一致性与可用性。我们为什么要讨论分布式系统的一致性与可用性,本质在于两者描述的是系统在失败的情况下表现如何。单节点持久化原语持久化消息队列/交换器RabbitMQ支持两种类型的消息队列:持久化队列和非持…

  • 此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)[通俗易懂]

    此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)[通俗易懂]最近访问一部分网站时,出现如下图所示“此网站无法提供案例连接,客户端和服务器不支持一般SSL协议版本或加密套件”的问题。注意这里显示了非常关键的一句话,xxx使用了不受支持的协议。从这句话入手,很快就查到了原因。原来是网站不支持HTTPS协议,我将HTTPS改为HTTP访问,问题得到解决。…

  • MVC三层架构理解

    MVC三层架构理解MVC三层架构什么是MVC:ModelviewController模型、视图、控制器以前的架构用户直接访问控制层,控制层就可以直接操作数据库;servlet–CRUD–>数据库弊端:程序十分臃肿,不利于维护servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码架构:没有什么是加一层解决不了的!程序猿调用↑JDBC(实现该接口)↑MysqlOracleSqlServer….(不同厂商)MVC三层架构M

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号