#python #python-3.x #for-loop
#python #python-3.x #for-цикл
Вопрос:
Я не написал четкую тему, потому что я не знал, что написать об этом, извините в первую очередь.
Чего я хочу достичь, так это:
a
a
a
a
a
a
a
a
a
С for
помощью цикла я думаю, что смогу достичь этого, но то, что я пытаюсь, совершенно неверно.
Комментарии:
1. Этот код не имеет ничего общего с тем, чего вы хотите достичь. Вы понимаете, что делает каждая строка кода? Или у вас есть представление о том, что вы ожидали от каждой строки? Более конкретно: какой эффект вы ожидаете
increment = 1
от всего этого кода? В чем заключается идеяa * 2
? Почемуa = 'a '
?2. Кстати, причина, по которой вы не смогли придумать хороший заголовок, заключается в том, что у вас нет вопроса. Вы должны выяснить, в чем заключается ваш вопрос (кроме «помогите мне», который не является вопросом).
3. Спасибо @zvone,
increment = 1
это было в моем старом коде, извините, это не имеет никакого отношения к моему коду. Что касаетсяa * 2
того, что я пытался получить результат, который был совершенно неправильным. Как правило, так и какие эксперты, подобные вам, кроме, я только что опубликовал свои попытки, независимо от того, были ли они неправильными. Теперь я редактирую свой пост, чтобы удалитьincrement
часть.4. И теперь у вас есть код, который печатается
a * 2
десять раз. Это даже не попытка решить поставленную задачу.5. @zvone Я знаю это, спасибо.
Ответ №1:
Возможно, вы блокируете что-то подобное.
a = 'a '
space = 't'
for c in range(5):
print(space*c a)
for c in range(5,0,-1):
print(space*c a)
Ответ №2:
Вы можете сделать это рекурсивно:
def print_angle(s, start, end, direction):
indent = " "*start
print(f"{indent}{s}")
if start < end-1 and direction:
print_angle(s, start 1, end, 1)
elif start > 0:
print_angle(s, start-1, end, 0)
print_angle('a', 0, 5, 1)
Это печатает:
a
a
a
a
a
a
a
a
a
Идея здесь заключается в:
1. Передайте нужный символ в print — a в этом случае.
2. Передайте начальную точку — 0 отступов в этом случае.
3. Передайте конечную точку — всего осталось 5.
4. Укажите направление, в котором нужно двигаться — 1 вверх, 0 вниз.
5. Идите рекурсивно вверх, пока не дойдете до конца, сохраните направление, сначала вверх.
6. Идите рекурсивно вниз, пока не достигнете 0 и не завершите работу.
Ответ №3:
Ваш increment
счетчик бесполезен в вашем коде.
Я бы подошел к этому так:
column_num = 0
for i in range(10): # rows
for j in range(10): # cols
if j == column_num:
print("a", end='')
else:
print(' ', end='')
print() # newline
column_num = 1
#then reverse:
column_num -= 1
for i in range(10): #rows
for j in range(10): #cols
if j == column_num:
print("a", end = '')
else:
print(' ', end = '')
print() #newline
column_num -= 1
Комментарии:
1. Спасибо, но в Python
//
не комментирует строку, вместо#
этого делает то, что я использовал и работал, спасибо.