Python基礎練習 列印正方形 菱形 閃電

2021-10-09 06:09:23 字數 2413 閱讀 4206

1、列印乙個邊長為n的正方形

n=

int(

input()

)for i in

range

(n):

if i==

0or i==n-1:

print

('*\t'

*n)else

:print

('*\t'

+' \t'

*(n-2)

+'*'

)

def square(n):

for i in range(n):

if i== 0 or i == n-1:

print('* '*n)

else:

print('* '+' '*(n-2)+'*')

2、列印菱形

方法一:上下兩部分 分開打

n=

int(

input()

)e=n//2+

1#先列印上半部分

for i in

range(1

,e):

print

((e-i)

*' '+(

2*i-1)

*'*'

)#再列印下半部分

for j in

range

(e+1

,n+1):

print

((j-e)

*' '+(

2*(n-j)+1

)*'*')

方法二:對稱法

n=

int(

input()

)if n%2!=

0:e=n//2+

1for i in

range

(-n+e,e)

:if i<0:

j=-i else

: j=i

print

((n-j)

*' '+(

2*j+1)

*'*'

)else

:print

('您輸入的不是奇數'

)

方法三:使用format列印(不用計算空格數)

n =

int(

input()

)if n %2!=

0:e = n //2+

1for i in

range

(-n + e, e)

:if i <0:

j =-i else

: j = i

s ='*'*

(n -(2

* j)

)print

('}'

.format

(s, n)

)# 居中列印,總寬度為7

3、列印對頂三角菱形

n=

int(

input()

)if n%2!=

0:e=n//2+

1for i in

range

(-n+e,e)

:if i<0:

j=-i else

: j=i

print

((e-j)

*' '+(

2*j+1)

*'*'

)else

:print

('您輸入的不是奇數'

)

4、列印閃電

while

true

: n=

int(

input()

)if n%2!=

0:e=n//

2for i in

range

(-e,e+1)

:if i !=0:

if i<0:

j=-i print

(' '

*j,end='')

if i>0:

j=iprint

(' '

*e,end='')

print

('*'

*(e+

1-j)

)else

:print

('*'

*n)break

else

:print

('請輸入奇數'

列印正方形。

題目 列印乙個由16個 組成的正方形。1 program shen8 2var 3i integer 45 begin 6for i 1to4 do7begin 8 writeln 9end 10 11 end.加強訓練 列印數字1 80,每8個數字一行,共列印10行,列印時每個數字佔3個格的寬度。...

C 列印蛇形正方形矩陣

c 列印蛇形正方形矩陣,如 1 2 3 8 9 4 7 6 5 using system using system.collections.generic using system.linq using system.text public static int getsnakematrix int...

正方形等分計數總正方形數

如下圖正方形,邊長是1cm,每邊被四等分,求一共分出了多少個正方形。經過手工數 邊長為1 4的正方形 16 邊長為1 2的正方形 9 邊長為3 4的正方形 4 邊長為1的正方形 1 所以一共是 30個正方形。當上述的正方形,邊長被3等分的情況又如何 還是手動數 邊長為1 3的正方形 9 邊長為2 3...