专栏首页小闫笔记python趣味玩法

python趣味玩法

此文章代码均由好友彭老板提供,彭老板个人主页: https://segmentfault.com/u/mixtualyue

每日分享

Always make a total effort, even when the odds are against you.

即使可能性很大,也要付出全部努力。

小闫语录:

大壮曾唱到:“在一瞬间,有一百万种可能。”即使有把握的一件事,结果仍是未知数,只有完成那一刻,才是定数。切莫轻视。

樱花树

先来看一下效果:

然后贴出源码:

import turtle
import random
from turtle import *
from time import sleep

t = turtle.Turtle()
w = turtle.Screen()

def tree(branchLen, t):
    if branchLen > 3:
        if 8 <= branchLen <= 12:
            if random.randint(0, 2) == 0:
                t.color('snow')
            else:
                t.color('lightcoral')
            t.pensize(branchLen / 3)
        elif branchLen < 8:
            if random.randint(0, 1) == 0:
                t.color('snow')
            else:
                t.color('lightcoral')
            t.pensize(branchLen / 2)
        else:
            t.color('sienna')
            t.pensize(branchLen / 10)

        t.forward(branchLen)
        a = 1.5 * random.random()
        t.right(20*a)
        b = 1.5 * random.random()
        tree(branchLen-10*b, t)
        t.left(40*a)
        tree(branchLen-10*b, t)
        t.right(20*a)
        t.up()
        t.backward(branchLen)
        t.down()


def petal(m, t):  # 树下花瓣
    for i in range(m):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color("lightcoral")
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)


def main():
    t = turtle.Turtle()
    myWin = turtle.Screen()
    getscreen().tracer(5, 0)
    turtle.screensize(bg='wheat')
    t.left(90)
    t.up()
    t.backward(150)
    t.down()
    t.color('sienna')
    tree(60, t)
    petal(100, t)

    myWin.exitonclick()


main()

深沉的树

先来看一下效果:

然后贴出源码:

from turtle import *
from random import *
from math import *


def tree(n, l):
    pd()
    t = cos(radians(heading() + 45)) / 8 + 0.25

    pencolor(t, t, t)
    pensize(n / 4)
    forward(l)
    if n > 0:
        b = random() * 15 + 10
        c = random() * 15 + 10
        d = l * (random() * 0.35 + 0.6)
        right(b)
        tree(n - 1, d)
        left(b + c)
        tree(n - 1, d)
        right(c)
    else:
        right(90)
        n = cos(radians(heading() - 45)) / 4 + 0.5
        pencolor(n, n, n)
        circle(2)
        left(90)
    pu()
    backward(l)


bgcolor(0.5, 0.5, 0.5)
ht()
speed(0)
tracer(0, 0)
left(90)
pu()
backward(300)
tree(13, 100)
done()

优质文章推荐:

redis操作命令总结

MySQL相关操作

SQL查询语句

前端中那些让你头疼的英文单词

Flask框架重点知识总结回顾

团队开发注意事项

浅谈密码加密

Django框架中的英文单词

Django中数据库的相关操作

DRF框架中的英文单词

DRF框架

Django相关知识点回顾

python技术面试题-腾讯

本文分享自微信公众号 - 全栈技术精选(Pythonnote),作者:小闫同学啊

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git push大文件失败解决

    在github上推送时候,貌似单个文件不能超过100M。再加上天朝的墙,给个眼神自己体会。既然是提交大文件导致http postbuffer溢出,将postbu...

    小闫同学啊
  • Django&DRF重点内容大盘点

    本文只是将学习过程中需要深刻记忆,在工作中常用的一些命令或者知识点进行一个罗列并阐释,不会全面的将所有内容进行讲解。大家可以在了解了Django框架和DRF框架...

    小闫同学啊
  • git hooks

    如同 flask 框架的请求钩子一样,git 也有钩子 (hook) 的概念,下面就让我们一起来看看吧。

    小闫同学啊
  • Hexo博客进阶教程(二)| 使用Appveyor备份并持续集成博客

    使用hexo d命令部署Hexo博客时,在Github仓库上传的只是 public 文件夹中生成的页面内容,这样就带来了一些问题:

    Mculover666
  • 怎么将golang部署到docker

    我们都知道go能够这么火是因为他是docker官方标准语言,当然了docker也将go的性能发挥到了极致,可谓是相辅相成,交相辉映。而最近学洗go的过程中很多项...

    大话swift
  • JQuery选择器(上)

    HTML5学堂:jQuery的选择器可以让我们很方便的操作获取元素,那么本文介绍的是jQuery选择器的几种选择器,希望对大家有帮助!谢谢! 1.基本选择器(3...

    HTML5学堂
  • 浅析软件架构和云计算

    到底什么使软件架构?如果你问工程师,一般会被甩给一份文档,其中最显眼的就是类似下面例子中的一副结构图。看起来好复杂,好有深度啊。于是你就退缩了。 ? 其实,功能...

    叶锦鲤
  • JavaScript 新语法详解:Class 的私有属性与私有方法

    proposal-class-fields与proposal-private-methods定义了 Class 的私有属性以及私有方法,这 2 个提案已经处于 ...

    Fundebug
  • 业界 | 谷歌AI上线“与书籍对话”项目,从10w+本书中搜索你要的答案

    大数据文摘
  • 使用Python中的folium包创建热力密度图

    最近探索出来一个在Python中创建热力图非常高效的方法,使用folium包来创建热力图,实际效果非常赞,过程简单,代码量少。

    数据小磨坊

扫码关注云+社区

领取腾讯云代金券