Python教程

Python3 星星序列的输出

本文主要是介绍Python3 星星序列的输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

考试程序

# -*- coding:cp936 -*-
'''------------------------------------------------------
【程序设计】
---------------------------------------------------------

题目:编写编写函数fun,其功能为打印如下图所示图形。
   *
  ***
 *****
*******      
 *****
  ***
   *
要求:要求使用abs()。
      编写函数中包含输出语句,直接打印表达式的结果。

---------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它函数中的
      任何内容,仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------'''
def fun(n):
    #**********Program**********
    for i in range(abs(4-(n))):
        print(' ',end='')
    for i in range((4-abs(4-n))*2-1):
        print('*',end='')
    print()
    #**********  End  **********
    
def main():
    for index in range(1, 8):
        fun(index)

if __name__ == '__main__':
    main()        

分析

1.程序中函数fun(n)的第一个循环中,range的参数之所以为abs(4-n),是因为主函数中的循环次数是8次,所以当传入值大于4时,range的参数会为负的,不合法;关于为什么是4,是因为程序输出结果的第一行最大空格数为3,最小*的数量为1。

2.而第二个循环中前四行*的数量是行数*2-1,但是从第五行开始,*数是和前三行关于第四行对称的,所以我们只要将表达式改为4-abs(4-n)*2-1即可。其中4表示关于第四行对称,abs(4-n)起到使上下称的作用

 

这篇关于Python3 星星序列的输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!