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 rando
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的操作就能得到相应的数据了。
是不是很简单呢?如果有什么不懂的可以在评论区留言,我会在看到的第一时间进行回复的。

最后修改:2021 年 04 月 20 日 08 : 09 AM
如果觉得我的文章对你有用,请随意赞赏