Datehoer的博客
我本将心向明月,奈何明月照沟渠
Datehoer的博客

当前位置:主页 > 技术分享 > python 打印简单三角形(3种)循环嵌套的应用

python 打印简单三角形(3种)循环嵌套的应用

浏览: 作者:Datehoer 发布日期:2020-12-06 15:28:00 来源: 原创
python打印三角形,这个我相信每个编程语言的初学者都会学习到这个案例。然后呢,我其实本来是不想发这个的,因为比较简单,但是我仔细一看,其实虽然它套着简单的外壳,但实际上并不简单。


循环嵌套,这个应该非常常见,比如说打印表格,打印乘法表,打印金字塔等等,都需要利用循环嵌套。

而python循环常用的非别为for in循环以及while循环,我们简单介绍一下两种循环的区别。
如果我们明确知道循环需要执行多少次,或者爹对一个容器进行迭代,那我们最好使用for in 循环
比如说:我们要求1-100内数值的和,明确了循环需要执行多少次,那么我们使用forin是最好的选择。

sum = 0
for x in range(101):
    sum += x
print(sum)
既然知道要执行多少次循环使用forin是最好的选择,那么while就是在不知道循环次数时最好的选择了。
举一个很好玩的小例子,这个例子也是在《Python编程:从入门到实践》中,作者最初做出来给家人玩的小游戏-----猜数小游戏。

import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
print('你总共猜了%d次' % counter)
可以看出,while真的很适合这种判断条件的循环。
下面我们切入正题,输出不同的三角形,直接先上代码吧。

row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(i + 1):
        print('*', end='')
    print()


for i in range(row):
    for j in range(row):
        if j < row - i - 1:
            print(' ', end='')
        else:
            print('*', end='')
    print()

for i in range(row):
    for _ in range(row - i - 1):
        print(' ', end='')
    for _ in range(2 * i + 1):
        print('*', end='')
    print()
效果图呢?
python打印三角形
其实看到代码就应该明白,这是一个简单的循环嵌套问题,就是把通过最外层循环的行数来进行内部的循环,输出空格+*号,不过只需要通过调整顺序就能得到第一第二两种效果了,而第三种呢,可以看出,他比其余的要多一半,我们还是通过最外层的数据来进行判断,然后进行*2-1的操作就能得到相应的数据了。
是不是很简单呢?如果有什么不懂的可以在评论区留言,我会在看到的第一时间进行回复的。




版权:本文由Datehoer原创,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接本文链接:https://zjzdmc.top/jsfx/79.html。

文章推荐

热门标签

返回顶部
下面为相关推荐
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!