用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 画几个简单图案

 

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QStringList自定义排序

    QStringList自定义排序假如有一个QStringList如下:QStringListkeys=QStringList()<<“1″<<“9″<<“7″<<“5″<<“3”;这样既可实现排序:qSort(keys.begin(),keys.end(),[](constQString&s1,constQStr…

    2022年4月29日
    80
  • 最短路径Dijkstra算法原理及Matlab实现「建议收藏」

    最短路径Dijkstra算法原理及Matlab实现「建议收藏」图论的基础知识不再阐述。最短路径算法主要有二Dijkstra算法Floyd算法Dijkstra算法研究的是从初始点到其他每一结点的最短路径而Floyd算法研究的是任意两结点之间的最短路径以下图为例,首先介绍Dijstra的原理红字为各结点的编号,蓝字为各结点之间的距离首先定义几个变量结点个数n;二维矩阵M(nxn),距离矩阵,连通的结点间即为距离,不…

    2022年6月1日
    68
  • 【Minecraft Modding】创建第一个Item

    【Minecraft Modding】创建第一个Item【MinecraftModding】创建第一个Item1.编辑mods.toml文件2.建立目录和包3.编辑Test.java3.注册物品4.定义物品的属性5.runClient在环境创建完成的基础上,就可以开始创建模组了!本文将叙述如何创建一个Item,即Minecraft中的掉落物。1.编辑mods.toml文件首先需要在IntelliJIDEA中载入项目,找到src\main\resources\META-INF\mods.toml文件。该文件包含了这个Mo

    2022年7月8日
    26
  • SRVCTL详解

    SRVCTL详解1.SRVCTL概述SRVCTL是ORACLERAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和NodeApplication,N

    2022年7月2日
    25
  • Android 程序员等级要求

    Android 程序员等级要求很多Android开发者已经度过了初级、中级,如何成为一个Android高手呢?Android123就各个级别的程序员应该掌握哪些内容作为下面分类。  一、初级  1.拥有娴熟的Java基础,理解设计模式,比如OOP语言的工厂模式要懂得。   2.掌握AndroidUI控件、AndroidJava层API相关使用。   迈向中级,最好再次更新下Ja

    2022年6月14日
    41
  • DHCP协议工作流程

    DHCP协议工作流程一个全新主机的请求一次DHCP服务的过程主要包含以下四个步骤第一步:客户机操作系统生成一个DHCPdiscover发现报文,被放置在一个具有广播IP目的地址(255.255.255.255)和源IP地址为0.0.0.0的IP数据报中(网络层),发送到以太网,试图找到网络中DHCP服务器以获取一个IP地址。这一步可以简化为DHCPdiscover,源IP:0.0.0.0,目的IP:255.255.255.255,表示客户机说我需要一个IP,DHCP你在哪,能不能分我一个?第二步:当运行在路

    2022年5月23日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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