import math
a,ch=input().split(' ')
a=int(a)
real=int(math.sqrt((a+1)//2))
rest=int(a-2*real**2+1)
real=2*real-1
for k in range(real,0,-2):print((ch*k).center(real,' '))
for j in range(3,real+1,2):print((ch*j).center(real,' '))
print(rest)
如上,python3.8 實作列印沙漏
題目如下
本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印
*****
***
*
***
*****
所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
給定任意N個符號,不一定能正好組成一個沙漏。要求列印出的沙漏能用掉盡可能多的符號。
如測驗40 &
&&&&&&&
&&&&&
&&&
&
&&&
&&&&&
&&&&&&&
9
這個家伙好像在python里占兩空格....
40 !
!!!!!!!
!!!!!
!!!
!
!!!
!!!!!
!!!!!!!
9
對的
40 *
*******
*****
***
*
***
*****
*******
9
很奇怪啊,數空格是對的,但看上去是歪的。。。。是不是一個字符長度與空格長度有差別
uj5u.com熱心網友回復:
dddddddddduj5u.com熱心網友回復:
ddddxdddxxxxxxxddddduj5u.com熱心網友回復:
應該是特殊字符的原因吧
uj5u.com熱心網友回復:
你的顯示視窗設定字體為等寬字體應該就可以了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/98029.html
