Нужна помощь с решением задач на "вложенные циклы"

KniFEach

Новичок
Пользователь
Авг 18, 2020
4
0
1
Само задание:вложенные циклы.png
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
И в чем проблема?
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример решения:
Python:
# первая задача
for j in ['а', 'б', 'в', 'г']:
    for i in range(1, 9):
        if j == 'а':
            print('*' * (i))
        elif j == 'б':
            print('*' * (9 - i))
        elif j == 'в':
            print(' ' * (i - 1) + '*' * (9 - i))
        elif j == 'г':
            print(' ' * (9 - i - 1) + '*' * (i))
            
# вторая задача
for i in range(2):
    for j in range(1, 5):
        if i == 0:
            print('*' * (5 - j))
        else:
            print('*' * j)
            
# третья задача
for i in range(1, 9):
    s = ''
    for j in range(1, 9):
        if (i + j) % 2 == 0:
            s += '*'
        else:
            s += '#'
    print(s)
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Вот пример решения:
Python:
# первая задача
for j in ['а', 'б', 'в', 'г']:
    for i in range(1, 9):
        if j == 'а':
            print('*' * (i))
        elif j == 'б':
            print('*' * (9 - i))
        elif j == 'в':
            print(' ' * (i - 1) + '*' * (9 - i))
        elif j == 'г':
            print(' ' * (9 - i - 1) + '*' * (i))
           
# вторая задача
for i in range(2):
    for j in range(1, 5):
        if i == 0:
            print('*' * (5 - j))
        else:
            print('*' * j)
           
# третья задача
for i in range(1, 9):
    s = ''
    for j in range(1, 9):
        if (i + j) % 2 == 0:
            s += '*'
        else:
            s += '#'
    print(s)
В первой же строке - все звездочки должны печататься функцией print('*', end=''). Там надо на каждую звезду принт.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
В первой же строке - все звездочки должны печататься функцией print('*', end=''). Там надо на каждую звезду принт.
Точно. Сразу не заметил.
Вот пример с использованием print('*', end=''):
Python:
# первая задача
for j in ['а', 'б', 'в', 'г']:
    for i in range(1, 9):
        if j == 'а':
            for x in range(0, i):
                print('*', end='')
            print('\r')
        elif j == 'б':
            for x in range(0, (9 - i)):
                print('*', end='')
            print('\r')
        elif j == 'в':
            print(' ' * (i - 1), end='')
            for x in range(0, (9 - i)):
                print('*', end='')
            print('\r')
        elif j == 'г':
            print(' ' * (9 - i - 1), end='')
            for x in range(0, i):
                print('*', end='')
            print('\r')
            
# вторая задача
for i in range(2):
    for j in range(1, 5):
        if i == 0:
            for x in range(0, (5 - j)):
                print('*', end='')
            print('\r')
        else:
            for x in range(0, j):
                print('*', end='')
            print('\r')

            
# третья задача
for i in range(1, 9):
    s = ''
    for j in range(1, 9):
        if (i + j) % 2 == 0:
            print('*', end='')
        else:
            print('#', end='')
    print('\r')
 

Форум IT Специалистов