Сейчас я работаю над каким-то кодом, студент на карантине и пытаюсь решить проблему с новогодней елкой, но никак не могу вникнуть.
Рождественская елка должна быть сделана с «пока», я пробовал, но у меня получается только половина елки.
Строка кода:
lines=1
maxlines=9
while lines>=maxlines:
print (lines*'*')
lines+=1
Что я получаю:
*
**
***
****
*****
******
*******
********
*********
Что я хочу получить:
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
Отредактировал то, что хочу получить, примерно так.
В желаемом выводе есть пробелы перед звездами — вы пробовали вставлять пробелы в то, что вы print
-ing, перед звездами?
Нет, не совсем... Я не могу понять, я вообще не работал над этим. Я еще начинающий.
Ну вот. Это напечатает дерево
def tree(n):
# total spaces
k = 2 * n - 2
# number of rows
i = 0
while i < n:
j = 0
# inner loop for number spaces
while j < k:
print(end = " ")
j = j + 1
# decrementing k after loop
k = k - 1
# number of columns
j = 0
while j < i + 1:
print("* ", end = "")
j = j + 1
# end line
print("\r")
i = i + 1
# Begining
n = 5
tree(n)
star = 1 # Star count
maxLines = 9 # Total number of lines
actualLines = 0 # Lines count
while actualLines <= maxLines:
# print the necessary spaces before the stars print the stars
print(str(abs(maxLines - actualLines ) * ' ') + str(star * '*'))
star += 2 # add 2 stars every new line
actualLines += 1 # add 1 to the line counting
Это именно то, что я хотел. Спасибо за помощь!
Если это решило вашу проблему, пожалуйста, примите ответ. Не стесняйтесь задавать любые вопросы о приведенном выше коде.
Сделанный! Еще раз спасибо.
Во-первых, ваш код не может работать, так как в вашем цикле while lines
никогда не больше, чем maxlines
, поэтому выражение False
.
Как упоминалось всеми другими людьми, вам не хватает места. Другой способ, максимально приближенный к вашему коду, таков:
lines=1
maxlines=9
while lines<=maxlines:
# print the leading spaces, the left part and the right side of the tree
print((maxlines-lines)*' '+ lines*'*'+(lines-1)*'*')
lines+=1
который дает:
*
***
*****
*******
*********
***********
*************
***************
*****************
Что должно быть
the rest of that tree
?