【双十一特辑】爱心代码(程序员的浪漫)

news2024/11/27 2:42:44

 

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 

目录

前言

C语言简易爱心代码

原理

代码

执行结果

C语言动态爱心代码

涉及知识点

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),字体色)

sheep()

代码

执行结果

Python简易爱心代码

准备工作

涉及知识点

np.linspace()

np.sin(​)

np.cos(​)

plt.plot()

plt.show()

 原理

 代码

 执行结果

HTML动态爱心代码

代码

执行结果


前言

最近《点燃你温暖我》中李洵的爱心代码超级火,看着特别心动,这不,光棍节快到了,给兄弟们教学一波爱心代码,赶在双十一前表白,让这个双十一不在是孤单一个人!

C语言简易爱心代码

原理

心形线直角坐标式(x^2+y^2-1)^3=x^2*y^3

让a=x^2+y^2-1,那么a*a*a就是(x^2+y^2-1)^3,有数学定理易得(x^2+y^2-1)^3<=x^2*y^3是为心形线里面的部分包括心形线,那么只要满足(x^2+y^2-1)^3<=x^2*y^3就输出某个指定符号,不满足就输出空格,就可以获得由这个字符组成的爱心,下面我使用的是'v'当指定字符,用三目运算符判断是否满足(x^2+y^2-1)^3<=x^2*y^3,注意输出完一行要换行。

代码

#include <stdio.h>

int main() {
	for (float y = 2.0f; y > -2.0f; y -= 0.1f) {
		for (float x = -2.0f; x < 2.0f; x += 0.05f) {
			float a = x * x + y * y - 1;
			putchar(a * a * a - x * x * y * y * y <= 0.0f ? 'v' : ' ');
		}

		putchar('\n');
	}
}

执行结果

C语言动态爱心代码

涉及知识点

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),字体色)

SetConsoleTextAttribute()是Windows系统中一个可以设置控制台窗口字体颜色和背景色的计算机函数,常用的几种颜色:

0=黑色 1=蓝色 2=绿色 4=红色 3=湖蓝色 5=紫色 6=黄色 7=白色 8=灰色

sheep()

执行挂起一段时间

代码

#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <tchar.h>

float f(float x, float y, float z) {
	float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;
	return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;
}

float h(float x, float z) {
	for (float y = 1.0f; y >= 0.0f; y -= 0.001f)
		if (f(x, y, z) <= 0.0f)
			return y;

	return 0.0f;
}

int main() {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
	                        0xc);//SetConsoleTextAttribute()是Windows系统中一个可以设置控制台窗口字体颜色和背景色的计算机函数
	HANDLE o = GetStdHandle(STD_OUTPUT_HANDLE);// GetStdHandle()检索指定标准设备的句柄(标准输入、标准输出或标准错误)
	_TCHAR buffer[25][80] = { _T(' ') };
	_TCHAR ramp[] = _T("vvvvvvvv");
	int count = 0;
	int count1 = 0;

	for (float t = 0.0f;; t += 0.1f) {
		int sy = 0;
		float s = sinf(t);
		float a = s * s * s * s * 0.2f;

		for (float z = 1.3f; z > -1.2f; z -= 0.1f) {
			_TCHAR *p = &buffer[sy++][0];
			float tz = z * (1.2f - a);

			for (float x = -1.5f; x < 1.5f; x += 0.05f) {
				float tx = x * (1.2f + a);
				float v = f(tx, 0.0f, tz);

				if (v <= 0.0f) {
					float y0 = h(tx, tz);
					float ny = 0.01f;
					float nx = h(tx + ny, tz) - y0;
					float nz = h(tx, tz + ny) - y0;
					float nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);
					float d = (nx + ny - nz) * nd * 0.5f + 0.5f;
					*p++ = ramp[(int)(d * 5.0f)];
				} else
					*p++ = ' ';
			}
		}

		for (sy = 0; sy < 25; sy++) {
			COORD coord = { 0, sy };
			SetConsoleCursorPosition(o, coord);//作用是设置控制台(cmd)光标位置
			WriteConsole(o, buffer[sy], 79, NULL, 0);//从当前光标位置开始,将字符串写入控制台屏幕缓冲区
		}

		if (count <= 22) {
			printf("I Love You") ;//表白内容
			printf("            To CSDN");// 被表白者的名字
			count++;
		} else {
			printf("You Are My Best Lover.\n");
			count++;

			if (count >= 44) {
				count = 0;
			}
		}

		Sleep(36);//Sleep函数:执行挂起一段时间,也就是等待一段时间在继续执行
	}
}

执行结果

 

Python简易爱心代码

准备工作

下载matplotlib软件包

涉及知识点

np.linspace()

用于返回指定区间等间隔的数组,例如np.linspace(0,2*np.pi)就是0到2π等间隔的数组

np.sin(\theta)

对中\theta元素取正弦值 

np.cos(\theta)

对中\theta元素取余弦值 

plt.plot()

是matplotlib.pyplot模块下的一个函数, 用于画图,它可以绘制点和线

plt.show()

展示图像

原理

原始的心形线的极坐标方程为r=a(1-cos\theta)

与其对应的参数方程是x(\theta)=2r(sin\theta-(sin2\theta)/2)

                                    y(\theta)= 2r(cos\theta-(cos2\theta)/2),(0<=\theta<=2π)

 代码

import numpy as np
import matplotlib.pyplot as plt
t=np.linspace(0,2*np.pi)#用于返回指定区间等间隔的数组
x=2*1*(np.cos(t)-np.cos(2*t)/2)
y=2*1*(np.sin(t)-np.sin(2*t)/2)
plt.plot(y,x,c='purple')#c=''控制颜色
plt.show()

 执行结果

HTML动态爱心代码

代码

由于代码过长,源码放在资源html网页做的动态爱心(超好看)-Javascript文档类资源-CSDN文库里,可以免费下载

执行结果

 

 👍+✏️+⭐️是对博主最大的鼓励与支持!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++数据结构第六周(图),深搜、广搜(stl版)

本方法皆用vector进行邻接表模拟 7-1 图的先深搜索 作者 唐艳琴 单位 中国人民解放军陆军工程大学 输出无向图的给定起点的先深序列。 输入格式: 输入第一行给出三个正整数&#xff0c;分别表示无向图的节点数N&#xff08;1<N≤10&#xff09;、边数M&#xff08;≤50&a…

CentOS7.x部署GreenPlum6.x

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、GreenPlum是什么&#xff1f;二、使用步骤1.环境说明2.集群介绍3.修改主机名(root)4.网络映射(root)5.创建安装目录6.安装部署7.SSH (免密登录)8.环境配置9.…

【SOLIDWORKS学习笔记】制作小风扇摇头底座(下)--- 细节优化

介绍&#xff1a;俗话说的好&#xff0c;电控决定机器人下限&#xff0c;机械决定机器人上限。作为一个在电控领域摸打滚爬了三年的选手&#xff0c;一直非常心动那些酷炫的机械模型&#xff0c;但是一直以来只能做甲方给别人提需求&#xff0c;做不到自己动手实现。所以我打算…

ES6学习24~47

2.14 Promise 2.14.1 什么是Promise Promise是ES6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果。 Promise 构造函数: Promise (excutor) {}Promise.prototype.then 方法Promise.prototype.catch 方法 2.14.2 pr…

假脱机技术——实现独占设备变成共享设备

文章目录什么是脱机技术假脱机技术——SPOOLing输入井和输出井输入进程与输出进程输入输出缓冲区共享打印机原理分析—假脱机技术的一种应用什么是脱机技术 因为我们的手工操作阶段&#xff0c;主机之间从I/O设备获得数据&#xff0c;由于设备由人工操作&#xff0c;主机速度很…

Android Studio打造一个小说阅读App

应用目录一、基本信息二、功能介绍1. 主界面2. 排行榜界面3. 分类界面4. 搜索界面5. 书籍详情界面6. 阅读界面7. 相关书籍界面三、类图/时序图/架构图四、采用技术及原因1.ViewPagerFragment的使用2.RadioGroup实现导航栏3.Retrofit的网络加载框架4.设置同步变量控制线程顺序5.…

【测试沉思录】12. 可用性保障平台的自动化测试探索与实践

欢迎订阅我的新专栏《现代命令行工具指南》&#xff0c;精讲目前最流行的开源命令行工具&#xff0c;大大提升你的工作效率。 作者&#xff1a;张雅瑜 编辑&#xff1a;毕小烦 一. 背景 随着业务的发展&#xff0c;应用越来越多&#xff0c;并且承载的业务量越来越大&#xff…

推箱子游戏设计与实现(Java+swing+JAWT)

目 录 摘 要 i Abstract ii 引 言 1 1 系统分析 2 1.1 技术可行性分析 2 1.1.1 可行性目的 2 1.1.2 可行性研究前提 2 1.1.3 算法可行性分析 2 1.1.4 平台选择 6 1.2 需求分析 6 1.2.1 引言 6 1.2.2 游戏需求 6 1.2.3 软硬件需求 9 1.2.4 接口控制 10 1.3 方案论证 10 1.3.1 C语…

JCDY-2A DC220V【直流高低值电压继电器】

系列型号 JCDY-2A/220V直流高低值电压继电器&#xff1b;JCDY-2A/110V直流高低值电压继电器&#xff1b; JCDY-2A/48V直流高低值电压继电器&#xff1b;JCDY-2B/220V直流高低值电压继电器&#xff1b; JCDY-2B/110V直流高低值电压继电器&#xff1b;JCDY-2B/48V直流高低值电压继…

MongoDB工具命令和用户认证

1.MongoDB工具命令 文章目录1.MongoDB工具命令1.1.Mongod命令1.2.Mongos命令1.3.Mongostat命令1.4.Mongotop命令1.5.Mongooplog命令1.6.Mongoperf命令2.MongoDB用户认证2.1.创建一个用户2.2.修改配置文件启用用户认证2.3.重启MongoDB2.4.使用用户口令登录MongoDB3.授权用户并赋…

【数据结构】链表OJ第二篇 —— 链表的中间节点 链表中倒数第k个节点 链表分割 链表的回文结构 相交链表

文章目录0. 前言1. 链表的中间节点2. 链表中倒数第k个结点3. 链表分割4. 链表的回文结构5. 相交链表6. 结语0. 前言 书接上回&#xff0c;我们这次依然是为大家带来链表的OJ题。这一次的题量比之前多一些&#xff0c;内容为链表的中间节点、链表中倒数第k个节点、链表分割、链…

安卓讲课笔记5.2 编辑框

文章目录零、本讲学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;继承关系图&#xff08;二&#xff09;编辑框常用属性&#xff08;三&#xff09;教学案例&#xff1a;用户注册1、创建安卓应用2、准备图片素材3、主界面与主布局资源文件更名4、创建息界面类5、字…

数据获取与预处理

文章目录Requests简介Requests库安装Requests库的基本操作Requests库的7个主要方法Request方法get方法Response对象的属性head方法post方法Requests简介 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 首先他是个第三方库&#xff0c;应用非常广泛 采用Apac…

《数据结构》(六)八大排序(下)

承接上篇的八大排序&#xff0c;今天本篇文章主要讲归并排序&#xff0c;冒泡排序&#xff0c;快速排序(挖坑&#xff0c;左右指针&#xff0c;前指针)和计数排序 八大排序交换排序冒泡排序冒泡排序思想代码冒泡排序总结快速排序快速排序思想三数取中快速排序之挖坑法挖坑法代码…

量化股票查询代码是什么?

量化股票查询代码是什么&#xff1f;接下来用一些代码来分析一下&#xff0c;如下&#xff1a; 做空95&#xff1a;HHV((HIGHLOWOPEN2*CLOSE)/5H-L,5),COLORBLUE;做空68: HHV((HIGH-LOWOPEN2*CLOSE)/5*2-L,5),COLORRED&#xff1b; 平衡点&#xff1a;LLV((HIGHLOWOPEN2*CLOSE…

狗厂员工来面试本想难为一下,问他内存溢出,结果被虐得连console.log也不敢写了

这次说到的面试题是关于node服务端内存溢出的问题&#xff0c;狗厂员工来面试本想难为一下&#xff0c;现在我连console.log也不敢写了 关于这道node内存溢出的问题&#xff0c;大哥从以下几个方面讲的&#xff0c;讲完我觉得自己得到了升华&#xff0c;现在搞得连代码也快不敢…

AI人脸检测/安全帽检测智能分析网关告警消息配置——微信告警消息配置

AI智能分析网关内置多种深度学习算法&#xff0c;可支持对接入的多路视频流进行智能检测、智能识别等&#xff0c;包括人脸检测与识别、车辆检测与识别、车牌识别、烟火识别、安全帽识别、区域入侵检测等。将智能分析网关与EasyCVR视频融合平台联合使用&#xff0c;可实现智能告…

Linux命令从入门到实战 ---- 用户管理命令

文章目录useradd添加新用户passwd设置用户密码id查看用户是否存在查看创建了哪些用户su切换用户userdel删除用户who查看登录用户信息sudo设置普通用户具有root权限用户组groupadd 新增用户组usermod修改用户groupdel删除用户组groupmod修改用户组总结useradd添加新用户 将usera…

安卓学习笔记5.3 按钮、图像视图与图像按钮

文章目录零、本讲学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;按钮控件1、继承关系图2、常用属性&#xff08;二&#xff09;图像视图1、继承关系图2、常用属性&#xff08;三&#xff09;图像按钮1、继承关系图2、常用属性&#xff08;四&#xff09;教学案例…

vue无需改动代码的SEO【百度爬取】优化--puppeteer(详细流程)

vue无需改动代码的SEO优化–puppeteer&#xff08;详细流程&#xff09; 目录vue无需改动代码的SEO优化--puppeteer&#xff08;详细流程&#xff09;一级目录二级目录三级目录一、安装puppeteer&#xff1a;npm install puppeteer --save安装依赖二、编写puppeteer服务js文件p…