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

GoLang教程007:打印空心金字塔

4.6 案例一:打印金字塔

编写一个程序,可以接收一个整数,表示层数,打印出金字塔。

1️⃣第一步:打印一个矩形

package mainimport "fmt"func main() {// i表示层数for i := 1; i <= 3; i++ {// j表示每层打印多少*for j := 1; j <= 3; j++ {fmt.Print("*")}fmt.Println()}
}

✅运行结果:

image-20250722114904856

2️⃣第二步:打印半个金字塔:

package mainimport "fmt"func main() {// i表示层数for i := 1; i <= 3; i++ {// j表示每层打印多少*for j := 1; j <= i; j++ {fmt.Print("*")}fmt.Println()}
}

✅运行结果:

image-20250722115010706

3️⃣第三步:打印整个金字塔

package mainimport "fmt"func main() {var totalLevel int = 7// i表示层数for i := 1; i <= totalLevel; i++ {// 在打印*前先打印空格for k := 1; k <= totalLevel-i; k++ {fmt.Print(" ")}// j表示每层打印多少*for j := 1; j <= 2*i-1; j++ {fmt.Print("*")}fmt.Println()}
}

✅运行结果:

image-20250722120357223

4️⃣第四步:打印空心金字塔

分析:

  • 每一层的第一个和最后一个打印*,其他的打印空格
  • 最后一层全部打印*
package mainimport "fmt"func main() {var totalLevel int = 15// i表示层数for i := 1; i <= totalLevel; i++ {// 在打印*前先打印空格for k := 1; k <= totalLevel-i; k++ {fmt.Print(" ")}// j表示每层打印多少*for j := 1; j <= 2*i-1; j++ {if j == 1 || j == 2*i-1 || i == totalLevel {fmt.Print("*")} else {fmt.Print(" ")}}fmt.Println()}
}

✅运行结果:

image-20250722121033695

http://www.dtcms.com/a/291943.html

相关文章:

  • PHP与Web页面交互:从基础表单到AJAX实战
  • 八大作业票(二)受限空间安全作业证
  • 智算中心光纤线缆如何实现自动化计算?
  • 汽车安全 | 汽车安全入门
  • 【机器学习】第五章 聚类算法
  • SpringBoot--Mapper XML 和 Mapper 接口在不同包
  • 基于Kubernetes的微服务CI/CD:Jenkins Pipeline全流程实践
  • 时序数据库 TDengine × Ontop:三步构建你的时序知识图谱
  • 【SVM】支持向量机实例合集
  • Dockerfile:镜像构建
  • 在资源受限单片机中使用printf等可变参函数时的陷阱(2025年7月22日)
  • DF与介质损耗
  • 深入解析谱聚类:RatioCut与Ncut的图拉普拉斯推导
  • AI AgentLLM架构演进的大逻辑和小脉络
  • RK3568 Linux驱动学习——SDK烧录
  • Docker 安装、常用命令、应用部署
  • Android接入RocketMQ的文章链接
  • JavaScript,发生异常,try...catch...finally处理,继续向上层调用者传递异常信息
  • 20250722在Ubuntu 24.04.2下配置编译RD-RK3588开发板的Android13的编译环境
  • 八大作业票(一) 动火安全作业证
  • 分布式高可用ELK平台搭建及使用保姆级教程指南
  • axios统一封装规范管理
  • 同步本地文件到服务器上的Docker容器
  • 学习做精准、自动化、高效的 GEO优化系统
  • 如何判断进程是否存活?Linux 系统中的核心方法解析
  • 【前端】ikun-pptx编辑器前瞻问题一: pptx的xml样式, 使用html能100%还原么
  • UE5 UI ScrollBox 滚动框
  • 报错error:0308010C:digital envelope routines::unsupported解决方案
  • 《Webpack热更新瓶颈突破:全链路优化指南》
  • Android KTX:让Kotlin开发更简洁高效的利器