python练习题

python练习题,第1张

题目:输出如图所示的图案。


 

网上复制的程序:

from sys import stdout
for i in range(4):
    for j in range(2 - i + 1):
        stdout.write(' ')
    for k in range(2 * i + 1):
        stdout.write('*')
    print('')
 
for i in range(3):
    for j in range(i + 1):
        stdout.write(' ')
    for k in range(4 - 2 * i + 1):
        stdout.write('*')
    print('')

在这个基础上,可以进行修改。


因为输出是向左靠齐的,所以可以根据每一行开始的空格数与行数的关系进行修改。


修改:

for i in range(4):
    for j in range(3-i):
        stdout.write(' ')
    for k in range(2 * i + 1):
        stdout.write('*')
    print('')

输出:

第一行的输出有左边的空格数为3,因为python里序号从0开始,所是在第一个rang处是(3-i)。


每加一行,空格减少一个。


之后在通过stdout.write在空格后面写入 *  号。


* 号有(2i+1)个。


for循环,每结束一次,就用一个print进行换行。


from sys import stdout

for i in range(4):
    for j in range(3-i):
        stdout.write(' ')
    for k in range(2 * i + 1):
        stdout.write('*')
    print('')


for i in range(3):
    for j in range(i+1):
        stdout.write(' ')
    for k in range(2 * (2-i) + 1):
        stdout.write('*')
    print('')

输出:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/570487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存