制作一个空心金字塔 【【尚硅谷】Golang入门到实战教程丨一套精通GO语言】 www.bilibili.com/video/BV1ME…
实心金字塔
package main
import "fmt"
// 看下满*金字塔
func main (){
/*
* 1层 1个* 规律 2*层数 -1 空格 2 总层数 - 当前层数
*** 2层 3个* 规律 2*层数 -1 空格 1 总层数 - 当前层数
***** 3层 5个* 规律 2*层数 -1 空格 0 总层数 - 当前层数
*/
var totalLevel := 9
for i:=1;i<=totalLevel;i++{
//先打印空格,totalLevel-i 表示空格数
for k:=1;k<=totalLevel-i;k++{
fmt.Print(" ")
}
//打印 *
for j:=1;j<2*i-1;j++{
fmt.Print("*")
}
}
}
空心金字塔
package main
import "fmt"
// 看下满*金字塔
func main (){
/*
* 1层 1个* 规律 2*层数 -1 空格 2 总层数 - 当前层数
* * 2层 3个* 规律 2*层数 -1 空格 1 总层数 - 当前层数
***** 3层 5个* 规律 2*层数 -1 空格 0 总层数 - 当前层数
*/
var totalLevel := 9
for i:=1;i<=totalLevel;i++{
//先打印空格,totalLevel-i 表示空格数
for k:=1;k<=totalLevel-i;k++{
fmt.Print(" ")
}
//打印 *
for j:=1;j<=2*i-1;j++{
//空心,每行的第一个和最后一个是*,还有最后一行是*
// j==1 表示每层第一个,j==2*i-1表示每行最后一个
if j==1 || j==2*i-1 || i==totalLevel{
fmt.Print("*")
} else {
fmt.Print(" ")
}
}
fmt.Println()
}
}
打印空心菱形
package main
import "fmt"
var n int = 10
func main() {
for i := 0; i <= n; i++ {
for k := 0; k <= n-i; k++ {
fmt.Print(" ") // 输出空格
}
for j := 1; j <= 2*i-1; j++ {
if j == 1 || j == 2*i-1 {
fmt.Print("*")
} else {
fmt.Print(" ")
}
}
fmt.Println()
}
for i := n - 1; i >= 1; i-- {
for k := 0; k <= n-i; k++ {
fmt.Print(" ") // 输出空格
}
for j := 1; j <= 2*i-1; j++ {
if j == 1 || j == 2*i-1 {
fmt.Print("*")
} else {
fmt.Print(" ")
}
}
fmt.Println()
}
}