Python 用“*” 输出三角形的代码写法 | 您所在的位置:网站首页 › 用python画一个半圆加三角形的冰淇淋怎么画 › Python 用“*” 输出三角形的代码写法 |
Python 嵩天老师的第三课练习的第三题: 用代码写出“*”的三角形 答案应该只有2行代码: #三角形输出 n = eval(input()) for i in range(1,n+1,2): print("{0:^{1}}".format("*" * i,n)) 输入数字13,出来的 代码解析: n = eval(input())调用了eval()函数,评估函数,将字符串的最外面双引号打开,成为数字 for i in range(1,n+1,2): print("{0:^{1}}".format("*" * i,n))最关键的就是槽的使用,内部的槽,确定了画“*”的个数,外部的槽{},以n确定了行宽,以最宽的一行作为每一行宽度 再进一步:如何输出菱形? #三角形输出 #菱形输出 n = eval(input()) for i in range(1,n+1,2): print("{0:^{1}}".format("*" * i,n+1)) for i in range(n-1,1,-2): print("{0:^{1}}".format("*" * (i-1),n+1))三角形变为菱形,主要是再画一个倒三角形,然后底边比正的三角形少一行。 for i in range(n-1,1,-2): print("{0:^{1}}".format("*" * (i-1),n+1)) 这是打印效果 加上的这两行意思和画正三角形差不多,主要就是注意 for in 的倒序。从大到小,前后颠倒一下即可,步长则改为-2。 打印的时候,从 for in 改成 n-2,也可以。 for i in range(n-2,1,-2): print("{0:^{1}}".format("*" * (i),n+1))这样后续的 print 函数打印,就可以直接从 i 开始。 打印有问题,因为这样的话,1 是不包括的。 会出来这样的图案: 最后一行不是 * ,所以再次修改代码,将 1 改为 0 ,测试。 #菱形输出 n = eval(input()) for i in range(1,n+1,2): print("{0:^{1}}".format("*" * i,n+1)) for i in range(n-2,0,-2): print("{0:^{1}}".format("*" * (i),n+1))最终输出的结果: 完美。 |
CopyRight 2018-2019 实验室设备网 版权所有 |