私はPython While Loopsを使って次のパターンを描く必要があります。Python 2.7を使ってこの蝶ネクタイのパターンを描くにはどうすればいいですか?
私は時間のかなり多くを費やし、完全にそれを印刷し、このコードを思い付いたが、このコードはそんなに長くあり、それはそれらの良いコードの一つではないように私は感じています。
ここで誰かがこのコードを縮小したり、より良い出力方法を提案してくれたら助かりますか?ここ
は、コードは次のとおりです。
#Question 10, Alternate Approach
temp = 1
pattern = ""
innerSpace = 7
starCount = 1
while temp <= 5:
st = 1
while st <= starCount:
pattern = pattern + "*"
if st != starCount:
pattern = pattern + " "
st = st + 1
sp = 0
if temp == 5:
innerSpace = 1
while sp < innerSpace:
pattern = pattern + " "
sp = sp + 1
st = 1
while st <= starCount:
if temp == 5:
st = st + 1
pattern = pattern + "*"
if st != starCount:
pattern = pattern + " "
st = st + 1
temp = temp + 1
innerSpace = innerSpace - 2
pattern = pattern + "\n"
if temp % 2 == 0:
pattern = pattern + " "
else:
starCount = starCount + 1
starCount = 2
innerSpace = 1
while temp > 5 and temp <= 9:
st = 1
while st <= starCount:
pattern = pattern + "*"
if st != starCount:
pattern = pattern + " "
st = st + 1
sp = 0
while sp < innerSpace:
pattern = pattern + " "
sp = sp + 1
st = 1
while st <= starCount:
pattern = pattern + "*"
if st != starCount:
pattern = pattern + " "
st = st + 1
temp = temp + 1
innerSpace = innerSpace + 2
pattern = pattern + "\n"
if temp % 2 == 0:
starCount = starCount - 1
pattern = pattern + " "
print pattern
いや、そのありません。そのボウタイは私のものとは違ったパターンをしています。 –
これを変更すると、それはプログラマが行うことです! –
ストリームに直接ではなく、一時的な(ランダムアクセスの)バッファーへのレンダリングを検討してください。おそらく 'collections.defaultdict'ですか? – o11c