前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3月14日 我用Python几十行代码为女朋友画了一个爱心

3月14日 我用Python几十行代码为女朋友画了一个爱心

作者头像
Michael阿明
发布2020-07-13 17:14:47
5630
发布2020-07-13 17:14:47
举报

今天是个特殊的日子,圆周率日,哈哈!来对你爱的人表达爱吧! 女朋友就是我爱人啦!?

代码语言:javascript
复制
# -*- coding:utf-8 -*-
# @Python Version: 3.7
# @Time: 2020/3/14 13:14
# @Author: Michael Ming
# @Website: https://michael.blog.csdn.net/
# @File: Valentine'sDay.py
# @Reference: 
import matplotlib.pyplot as plt
import numpy as np
from decimal import Decimal
from decimal import getcontext
import time


def heartfunc(x, y):
    return (x ** 2 + y ** 2 - 1) ** 3 - x ** 2 * y ** 3 <= 0


def cal_pi(precision):
    getcontext().prec = precision
    return sum(1 / Decimal(16) ** k *
               (Decimal(4) / (8 * k + 1) -
                Decimal(2) / (8 * k + 4) -
                Decimal(1) / (8 * k + 5) -
                Decimal(1) / (8 * k + 6)) for k in range(precision))


def printer(text, delay=0.1314):
    """打字机效果"""
    for ch in text:
        print(ch, end='', flush=True)
        time.sleep(delay)


if __name__ == '__main__':
    n = 1314
    x = np.linspace(-2, 2, n)
    y = np.linspace(-2, 2, n)
    X, Y = np.meshgrid(x, y)
    plt.contourf(X, Y, heartfunc(X, Y), cmap=plt.cm.autumn)
    # 颜色查询 https://matplotlib.org/examples/color/colormaps_reference.html
    plt.title("5201314")
    plt.show()

    loveInPi = str(cal_pi(1314))
    heart = ['5', '2', '0', '1', '3', '1', '4']
    iloveyou = "5201314"
    love = ""
    i, j = 0, 0
    while love != iloveyou:
        if loveInPi[i] == heart[j]:
            love += loveInPi[i]
            j += 1
        i += 1
    printer("Michael在圆周率中找到了爱的誓言:" + love + " to my love!")
代码语言:javascript
复制
Michael在圆周率中找到了爱的誓言:5201314 to my love!
在这里插入图片描述
在这里插入图片描述

爱是恒久忍耐,又有恩慈;爱是不嫉妒;爱是不自夸,不张狂, Love is patient, love is kind. It does not envy, it does not boast, it is not proud. 不做害羞的事,不求自己的益处,不轻易发怒,不计算人的恶, It does not dishonor others, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. 不喜欢不义,只喜欢真理; Love does not delight in evil but rejoices with the truth. 凡事包容,凡事相信,凡事盼望,凡事忍耐。 It always protects, always trusts, always hopes, always perseveres. 爱是永不止息。 (哥林多前书 13:4-8 ) Love never fails. (Corinthians 13:4-8 NIV)

本文参考:

Python 必杀技:用 print() 函数实现的三个特效 一个神奇的公式计算Pi的任意位数

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档