当前位置: 首页 > news >正文

c++与Python用笛卡尔的心形函数输出爱心

我突然想到输出爱心是否可以用笛卡尔的心形函数

在IDLE里用Python输出下面这个图形

在小熊猫c++里用c++输出下面这个图形

如果当你要输出这些的时候会怎么办

低级:纯输出

print('''           *********           *********            *****************   *****************        ****************************************       *******************************************     *********************************************    *********************************************    *********************************************    *********************************************    *********************************************    *********************************************    *******************************************     *****************************************      ****************************************       *************************************        ***********************************         *********************************          *****************************            *************************              *********************                ***************                   *********                      ***''')
#include<cstdio>
using namespace std;
int main(){printf("           *********           *********\n");printf("       *****************   *****************\n");printf("     ****************************************\n");printf("    *******************************************\n");printf("   *********************************************\n");printf("   *********************************************\n");printf("   *********************************************\n");printf("   *********************************************\n");printf("   *********************************************\n");printf("    *******************************************\n");printf("     *****************************************\n");printf("     *****************************************\n");printf("      ***************************************\n");printf("       *************************************\n");printf("        ***********************************\n");printf("           *****************************\n");printf("            ***************************\n");printf("               *********************\n");printf("                *******************\n");printf("                  ***************\n");printf("                     *********\n");printf("                        ***\n");
}

中级:列表/数组控制

Ps:我不会 你们自己来

高级:笛卡尔心形函数

先给大家看一下这个表达式

(x^{2}+y^{2}-1)^{3}-x^{2}y^{3}=0

在c++里是(x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)-x*x*y*y*y

在Python里是(x**2+y**2-1)**3-x**2*y**3

先放c++的:

第一步:框架

#include<bits/stdc++.h>
using namespace std;
int main(){return 0;//这行可写可不写
}

第二步:定义心形函数函数

float xx(float x,float y){//定义一个返回浮点数的函数xx 需要两个浮点数x与yreturn (x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)-x*x*y*y*y;//返回得到的值
}

第三步:建立for循环嵌套

int main(){for(float y=1.3;y>-1.0;y-=0.1){//我试过了 比1.0大的会多这个数减1.0再除以0.1的行数//并且比1.0小会直接从下往上削这个数减1.0再除以0.1的行数for(float x=-1.3;x<1.3;x+=0.05){//减小x每次的增值 可以让这颗心更"胖"}}return 0;
}

第四步:输出

int main(){printf("\033[31m");for(float y=1.3;y>-1.0;y-=0.1){for(float x=-1.3;x<1.3;x+=0.05){if(xx(x,y)<0){printf("*");//符合函数就输出星号}else{printf(" ");//不符合函数就输出空格占位}}printf("\n");//每输出一行就换行}return 0;
}

总览

#include<bits/stdc++.h>
using namespace std;
float xx(float x,float y){return (x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)-x*x*y*y*y;
}
int main(){float x,y;printf("\033[31m");for(y=1.3f;y>-1.1f;y-=0.1f){for(x=-1.3f;x<1.3f;x+=0.05f){if(xx(x,y)<0){printf("*");}else{printf(" ");}}printf("\n");}return 0;
}

接下来是Python 这个会比较复杂

因为Python的for循环不像c++一样能操纵循环

只能用range函数勉强实现一点皮毛

但是range函数返回的值不能从大到小 不能是小数

这两个点成为了用Python实现心形函数输出爱心的难点

但是不用慌 我们能用列表手搓

而且Python的实在是太简单了 也不想讲了

for y in [i*0.1 for i in range(13,-11,-1)]:a=""#建立变量a获得每一行的输出for x in [j*0.05 for j in range(-26,27)]:if (x*x+y*y-1)**3-x*x*y**3<0:a+="*"#判断是否符合函数else:a+=" "print(a.rstrip())#输出当前行并去除右侧空格

MVP结算:

        本期字数:3222

        本期质量分:52

http://www.lryc.cn/news/448422.html

相关文章:

  • Mybatis 9种动态 sql 标签使用
  • OpenHarmony(鸿蒙南向)——平台驱动开发【PIN】
  • 南平自闭症寄宿制学校:让孩子自信绽放
  • 汽车总线之---- LIN总线
  • Android开发MPAndroidChart两条折线图
  • HTML-ES6.0核心技术
  • 车间调度问题数学建模与CPLEX优化
  • < 基础物理 >
  • 【web开发】Spring Boot 快速搭建Web项目(三)
  • 无人机之战斗机的详解!
  • Verilog基础:时序调度中的竞争(四)(描述时序逻辑时使用非阻塞赋值)
  • 嵌入式边缘计算软硬件开发“1+X”考证建设方案
  • ES8的Java API client 8.0 简单示例操作 Elasticsearch
  • 多线程CompletableFuture
  • AR传送门+特定区域显示内容+放大镜 效果着色器使用
  • 设置Hadoop守护进程的JVM参数
  • 可视化大屏
  • pytest框架
  • 基于大数据的亚健康人群数据分析及可视化系统
  • 黄金短线交易策略:波动中的高效盈利之法
  • 西陆家政系统V1.0.1
  • 时间安全精细化管理平台/iapp/mobile/facereg/facereg.html接口存在未授权访问漏洞
  • 自动化测试实例:Web登录功能性测试(无验证码)
  • 【算法篇】二叉树类(3)(笔记)
  • 基于php的律所管理系统
  • MySQL 之索引详解
  • C#测试调用FreeSpire.PDFViewer浏览PDF文件
  • 又一挣钱副业:AI生成影视解说,半个月涨粉变现3.5W+!
  • R语言 基础 笔记 3
  • 【MySQL】常见的SQL优化方式(一)