利用for循环打印三角形,菱形,字母等

三角形:

# 打印等腰三角形
# 控制行
for i in range(1,6):
    #更改打印起始位置
    for k in range(1,6-i):
        print(end=" ")
    #控制列,规则是第一行一列,第二行二列
    for j in range(6-i,6):
        print("*",end = " ")
    print()
print("="*20)
# 空心
# 控制行
for i in range(1,6):
    #更改打印起始位置
    for k in range(1,6-i):
        print(end=" ")
    #控制列,规则是第一行一列,第二行二列
    for j in range(6-i,6):
        if i==1 or i==5 or j==6-i or j==5:
            print("*",end = " ")
        else:
            print(‘ ‘,end=" ")
    print()

字母:

while 1:
    def A_zm():
        for i in range(1,6):
        #更改打印起始位置
            for k in range(1,6-i):
                print(end=" ")
        #控制列,规则是第一行一列,第二行二列
            for j in range(6-i,6):
                if i==1 or i==4 or j==6-i or j==5:
                    print("*",end = " ")
                else:
                    print(‘ ‘,end=" ")
            print()
    def B_zm():
        for m in range(1,5):
            for n in range(1,4):
                if n==1:
                    print("*",end=" ")
                elif m==1 or m==4:
                    if n>2:
                        break
                    else:
                        print("*",end=" ")
                elif n>2:
                    if m==2 or m==3:
                        print("*",end=" ")

                else:
                    print(" ",end=" ")
            print()
        for m in range(1,5):
            for n in range(1,4):
                if n==1:
                    print("*",end=" ")
                elif m==1 or m==4:
                    if n>2:
                        break
                    else:
                        print("*",end=" ")
                elif n>2:
                    if m==2 or m==3:
                        print("*",end=" ")

                else:
                    print(" ",end=" ")
            print()

    def P_zm():
        for m in range(1,7):
            for n in range(1,4):
                if n==1:
                    print("*",end=" ")
                elif m==1 or m==4:
                    if n>2:
                        break
                    else:
                        print("*",end=" ")
                elif n>2:
                    if m==2 or m==3:
                        print("*",end=" ")

                else:
                    print(" ",end=" ")
            print()
    def R_zm():
        for m in range(1,7):
            for n in range(1,4):
                if n==1:
                    print("*",end=" ")
                elif m==1 or m==4:
                    if n>2:
                        break
                    else:
                        print("*",end=" ")
                elif n>2:
                    if m==2 or m==3:
                        print("*",end=" ")

                else:
                    print(" ",end=" ")
            print()

    share = input("请输入要打印的字母:")
    if share == "-1":
        print("程序结束")
        break

    elif share == "A":
        A_zm()
    elif share == "B":
        B_zm()
    elif share == "R":
        R_zm()
    elif share == ‘P‘:
        P_zm()
    else:
        print("输入的字母没有")

菱形:

# 菱形
for i in range(6):
    #更改打印起始位置
    for k in range(6-i):
        print(end=" ")
    #控制列,规则是第一行一列,第二行二列
    for j in range(6-i,6):
        if i==0  or j==6-i or j==5:
            print("*",end = " ")
        else:
            print(‘ ‘,end=" ")
    print()   

for i in range(6):
    #更改打印起始位置
    for k in range(i):
        print(end=" ")
    #控制列,规则是第一行一列,第二行二列
    for j in range(6-i):
        if j==5-i  or i==5 or j==0:
            print("*",end = " ")
        else:
            print(‘ ‘,end= " " )

    print()

多多训练自己的逻辑思维结构。fighting!

原文地址:https://www.cnblogs.com/llj0403/p/9211469.html

时间: 2024-10-13 12:35:47

利用for循环打印三角形,菱形,字母等的相关文章

for循环打印空心菱形的新方法

相信大家在学习流程控制的循环结构时,一定都用for循环绘制过菱形和空心菱形吧,我记得我当时写的很麻烦,把一个菱形分为上下两部分,上面2重for循环,下面2重for循环,相信有很多的小伙伴都是这样做的吧,但是这样也造成了很多的代码冗余,今天无意间看到另外一种简便的方法,具体思路和实现过程如下图所示: 思路:   1.先画一个正方形,边长为奇数. 2.定义每一行的初始位置和结束位置,初始值为:边长/2+1. 3. 在每一行的输出位置和结束位置打印*,即为最中间的一条竖线. 4.改变初始位置和结束位置

使用for循环和while循环打印三角形(附九九乘法表实现)

使用for / while循环输出带*三角形for循环方法: i = 0 for tmp in range(6): print("*"*tmp) while循环方法: i = 0 while i <= 5: print("*"*i) i += 1 效果如下: * ** *** **** ***** 同理我们可以输出九九乘法表: for循环方法: for i in range(1,10): for j in range(1,i+1): print("%

使用C语言,利用for循环打印菱形(每个相邻菱形都要带空格)

之前看到网上的一些文章介绍如何打印菱形,但是和我当时题目要求的却不一样,网上的代码输出出来时每个相邻菱形并没有带空格. 我现在所介绍的是每个相邻菱形间都带有空格的代码. 习题及代码如下: 用*输出边长为n的实心菱形. * * * * * * * * * printf("请输入一个整数:"); int n = 0; scanf("%d",&n); //打印行数,注意必须是奇数行所以是2n-1 for (int i = 1; i <= 2*n - 1; i

循环打印一个菱形英文字母...

第二题怎么做?!!!!! 版权声明:本文为博主原创文章,未经博主允许不得转载.

利用for循环打印实心棱形和空心棱形

一.要求: 提示用户输入棱形的行数,比如输入5时,打印如下实心棱形和空心棱形(由于排版问题,可能显示会有变形): * *** ***** *** * * * * *   * * * * 二.分析: A.图形是上下对称的 B.每行先打印空格,再打印星号,后面的空格不用打印 C.中间行不打印空格,其余行根据与中间的行距,依次增加打印空格的数量 D.每行打印的星号数量为最大列宽减去此行打印空格数量的两倍 三.实现: import java.util.Scanner; public class loop

用循环打印26个字母。

public class Test03 { public static void main(String[] args) { //定义了一个char型的数组a char[] a; //实例对象数组,长度为25 a = new char[26]; for (int i = 0; i < 26; i++){ //通过把A的ascii码和循环变量进行相加来转换各个字码的ascii码 a[i] = (char)('a' + i); System.out.print(a[i]); if(a[i]=='z'

PHP练习--用for循环打印空心菱形

思路:1,写出代码打印实心的金字塔 2.修改代码,把金字塔抛空 3.修改代码,把金字塔倒转 4.修改倒转后的代码,把金字塔抛空 5.修改代码,把具体的数进行参数化 1.写出代码打印实心金字的金字塔: <?php //$n=5; for($i=1;$i<=5;$i++){ //打印空格 for($j=1;$j<=5-$i;$j++){ echo " "; } //打印*号 for($k=1;$k<=2*$i-1;$k++){ echo "*";

C#利用for循环打印图形练习题

(1) namespace ConsoleApp2 { class Program { static void Main(string[] args) { for(int i = 0; i < 5; i++)//外层循环控制的是行数 { for(int j = 0; j <= i; j++)//内层循环控制的是列数,控制是每行打印的内容及个数 { Console.Write("*"); } Console.WriteLine(); } Console.ReadLine();

课后作业 利用for循环嵌出菱形

for (int i = 1; i <= 11; i++) // i 的起始值是一 在<=11; 逐个递增 { int a, b, c;// 定义abc三数 for (a = 11; a > i; a--) // a这是个递减的 起始值是11 当i=1时 // a的值是11 输出11个空白 Console.Write(" "); for (b = 1; b <= i; b++)// 当以上输出11个空白时 b输出一个“*”以此类推 Console.Write(&