金字塔图案

Posted rowry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金字塔图案相关的知识,希望对你有一定的参考价值。

金字塔图案

问题描述

打印出等腰金字塔图形.

算法思路

  • 这种打印图形,核心就是按行打印 => 金字塔图形每一行有空格星号组成
  • 找到行号n与空格和星号的数量规律
    技术图片

代码示例

Python

# 这种打印的就是按行打印

def fun(n):
    """
    :param n: 金字塔的层数
    """
    for line in range(1, n + 1):
        # 打印空格
        for i in range(n - line):
            print(" ", end="")
        # 打印星号
        for i in range(2*line -1):
            print("*",end="")
        print()

fun(5)

Java



import java.util.Scanner;

public class 金字塔图案 {

    // print1(n) => 正三角
    static void print1(int n) {
        // 按行来打印
        for (int i = 1; i <= n; i++) { // 第i行
            // 打印空格
            for (int j = 0; j < n - i; j++) {
                System.out.printf(" ");
            }
            // 打印星号
            for (int j = 0; j < 2 * i - 1; j++) {
                System.out.printf("*");
            }
            System.out.println();
        }
    }

    // print2(n) => 倒三角
    static void print2(int n) {
        // 按行打印
        for (int i = 1; i <= n; i++) {
            // 打印空格
            int nn = i - 1;
            while (nn-- > 0) {
                System.out.printf(" ");
            }
            // 打印星号
            nn = 2 * (n - i) + 1;
            while (nn-- > 0) {
                System.out.printf("*");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        // 1. 找到行数n和空格,星号的关系

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入金字塔层数: ");
        int n = sc.nextInt(); // n => 层数

        print1(n);
        System.out.println();
        print2(n);
    }

}

以上是关于金字塔图案的主要内容,如果未能解决你的问题,请参考以下文章

如何将这个金字塔图案上下打印?

金字塔图案

打印各种图案~

打印各种图案~

C语言刷题——“C”

ForDemo.java打印一个金字塔