栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python打印星号图形系列(Python基础)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python打印星号图形系列(Python基础)

Python打印星号图形系列
  • 1.使用while循环输出正三角形
  • 2.使用while循环输出倒三角形
  • 3.使用while,输出等边三角形
  • 4.使用循环嵌套打印九九乘法表
  • 5.使用while,输出菱形

1.使用while循环输出正三角形
*
* *
* * *
* * * *
* * * * *

参考答案:

i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1
    print(" ")
    i += 1
2.使用while循环输出倒三角形
* * * * *
* * * *
* * *
* *
*

参考答案:

i = 5
while 0 < i <= 5:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1
    print(" ")
    i -= 1
3.使用while,输出等边三角形
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*

参考答案1:

i = 1
while i <= 9:
    if i <= 5:
        print('* '*i)
    else:
        print('* '*(10 - i))
    i += 1

参考答案2:

i = 1
while i <= 9:
    if i <= 5:
        j = 1
        while j <= i:
            print("* ", end="")
            j += 1
    else:
        k = 1
        while k <= (10-i):
            print("* ", end="")
            k += 1

    print()
    i += 1

参考答案3:

i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1
    print(" ")
    i += 1
i = 4
while 0 < i <= 4:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1
    print(" ")
    i -= 1
4.使用循环嵌套打印九九乘法表

输出图形:

参考答案:

# 3.
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print("%d*%d=%-2d " % (i, j, i*j), end = '')
        j += 1

    print(" ")
    i += 1
5.使用while,输出菱形
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

思路分析1:
设总的行数为2a+1

  1. 先思索怎么打印出三角形:
    对于三角行星阵而言,可以将图形认为是由空格和组成的(2a-1)xa的阵列
    对于第i行而言,j<=(a-i)和j>=(a+i)为空格,其余为

    因此,可以用if-else语句进行判断,画出三角形阵列。
  2. 思索怎么将三角形星阵对称:
    发现当打印到第a行时,i == a,此时可以将i递减1,从而打印出另外一半
    但是,最外面的while语句判断条件将变成i>=1时,才执行。
    因此,因此引入变量n和x,当i==a时,改变x和n的值,可以改变判定条件。

参考答案1:

a = 5
i = 1
n = 1
x = a
while (n * i) <= x:
    j = 1
    while j < (a * 2 + 1):
        if j <= (a-i) or j >= (a+i):
            print(" ", end = "")
        else:
            print("*", end = "")
        j += 1
    print("n")
    i += n
    if i == a:
        n = -1
        x = -1

思路分析2:
前5行规律:
先打印空格,再打印*,又打印空格
第1行: 4空格+1星号+4空格
第2行: 3空格+3星号+3空格
第3行: 2空格+5星号+2空格
第4行: 1空格+7星号+1空格
第5行: 0空格+9星号+0空格

第i行: (5-i)空格+(9-2*(5-i))星号+(5-i)空格

后面4行规律:
第6行: 1空格+7星号+1空格
第7行: 2空格+5星号+2空格
第8行: 3空格+3星号+3空格
第9行: 4空格+1星号+4空格

第i行: (i-5)空格+(9-2*(i-5))星号+(i-5)空格

参考答案2:

i = 1
while i <= 9:

    if i <= 5:
        # 前5行规律:
        # 第i行: (5-i)空格+(9-2*(5-i))星号+(5-i)空格
        print(' '*(5-i) + '*'*(9-2*(5-i)) + ' '*(5-i))
    else:
        # 后面4行规律:
        # 第i行: (i-5)空格+(9-2*(i-5))星号+(i-5)空格
        print(' '*(i-5) + '*'*(9-2*(i-5)) + ' '*(i-5))
    i += 1
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号