>백엔드 개발 >파이썬 튜토리얼 >파이썬에서 마름모를 인쇄하는 방법

파이썬에서 마름모를 인쇄하는 방법

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-25 14:29:5712050검색

파이썬에서 마름모를 인쇄하는 방법

파이썬에서 마름모를 인쇄하는 방법은 무엇인가요? 다음은 세 가지 방법입니다.

첫 번째 방법

rows = int(input('请输入菱形边长:\n'))
row = 1
while row <= rows:
    col = 1     # 保证每次内循环col都从1开始,打印前面空格的个数
    while col <= (rows-row):  # 这个内层while就是单纯打印空格
        print(&#39; &#39;, end=&#39;&#39;)  # 空格的打印不换行
        col += 1
    print(row * &#39;* &#39;)  # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
    row += 1
 
bottom = rows-1
while bottom > 0:
    col = 1     # 保证每次内循环col都从1开始,打印前面空格的个数
    while bottom+col <= rows:
        print(&#39; &#39;, end=&#39;&#39;)  # 空格的打印不换行
        col += 1
    print(bottom * &#39;* &#39;)  # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
    bottom -= 1

출력 결과:

请输入菱形边长:
5
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    *
# 🎜🎜 #관련 추천: "

Python 비디오 튜토리얼"

두 번째 유형

s = &#39;*&#39;
for i in range(1, 8, 2):
    print((s * i).center(7))
for i in reversed(range(1, 6, 2)):
    print((s * i).center(7))

출력 결과: #🎜 🎜#
   *   
  ***  
 ***** 
*******
 ***** 
  ***  
   *

세 번째 유형

def stars(n):
    RANGE1 = [2*i+1 for i in range(n)]
    RANGE2 = [2*i+1 for i in range(n)[::-1]][1:]
    RANGE = RANGE1 + RANGE2
    RANGE_1 = [i for i in range(n)[::-1]]
    RANGE_2 = [i for i in range(n)[1:]]
    RANGE_12 = RANGE_1 + RANGE_2
    for i in range(len(RANGE)):
        print (&#39; &#39;*RANGE_12[i] + &#39;*&#39;*RANGE[i])
if __name__ ==  "__main__":
    stars(5)
출력 결과:

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

위 내용은 파이썬에서 마름모를 인쇄하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.