Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/123: Рейтинг темы: голосов - 123, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 16.07.2020
Сообщений: 8

Семейство тетушки Совы

16.07.2020, 19:19. Показов 25765. Ответов 3

Студворк — интернет-сервис помощи студентам
Прошу помочь в решении данной задачи:
При изучении курса "Вывод текста на экран" мы писали программу, которая выводит на экран тетушку Сову.
Сейчас Вам необходимо написать программу, которая по введенному с клавиатуры числу выведет соответствующее число сов.
Напоминаем, картинка тетушки Совы состоит из символов. Размер 5 на 11 символов.
:)\_____/(:
{(@)v(@)}
{|~- -~|}
{/^'^'^\}
===m-m===
Между двумя соседними Совами имеется пустой (из пробелов) столбец

Примеры

Входные данные
Выходные данные
1
:)\_____/(:
{(@)v(@)}
{|~- -~|}
{/^'^'^\}
===m-m===
2
2
:)\_____/(: :)\_____/(:
{(@)v(@)} {(@)v(@)}
{|~- -~|} {|~- -~|}
{/^'^'^\} {/^'^'^\}
===m-m=== ===m-m===
Вот моё решение:
n=int(input())
for i in range(0,n):
print(":)\_____/(: ")
print(" {(@)v(@)} ")
print(" {|~- -~|} ")
print(" {/^'^'^\} ")
print(" ===m-m=== ")
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.07.2020, 19:19
Ответы с готовыми решениями:

Семейство треугольников
Помогите нарисовать семейство треугольников в Паскале с помощью цикла for.

Семейство ОС с BIOS
Срочно! Вопрос для экзамена на поступление в универ.Гугл перерыл не нашел. В каком семействе ОС процедуры BIOSиспользуются на...

Семейство * алгоритмов
Доброе время суток, собственно вопрос в том, к какому семейству относится алгоритм А* и какие ещё в этом семействе есть алгоритмы, к...

3
 Аватар для GulgDev
132 / 118 / 29
Регистрация: 09.07.2019
Сообщений: 1,071
16.07.2020, 20:11
Python
1
2
3
count = int(input());
for element in [':)\_____/(:', ' {(@)v(@)} ', ' {|~- -~|} ', ' ===m-m=== ']:
    print(' '.join([element for i in range(count)]));
Добавлено через 4 минуты
С некоторыми добавками:
Python
1
2
3
4
count = int(input());
for element in [':)\_____/(:', ' {(@)v(@)} ', ' {|~- -~|} ']:
    print(' '.join([element for i in range(count)]));
print('='.join(['====m-m====' for i in range(count)]));
Добавлено через 11 минут
Нарисовать дерево:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def draw_branch(count):
    for element in [':)\_____/(:', ' {(@)v(@)} ', ' {|~- -~|} ']:
        print(' '.join([element for i in range(count)]) + ' || ' + ' '.join([element for i in range(count)]));
    print('='.join(['====m-m====' for i in range(count)]) + '=||=' + '='.join(['====m-m====' for i in range(count)]));
def empty(count):
    print(' ' * (12 * count) + '||' + ' ' * (12 * count));
def draw_root(count):
    print('_' * (12 * count) + '||' + '_' * (12 * count))
def tree(on_one_branch, floors, distance_between_floors):
    for floor in range(floors):
        draw_branch(on_one_branch);
        for i in range(distance_between_floors):
            empty(on_one_branch);
    draw_root(on_one_branch);
 
if __name__ == '__main__':
    c, f, d = (int(input(f'Введите {value}: ')) for value in ['кол-во сов на одной ветке', 'кол-во этажей', 'расстояние между этажами']);
    tree(c, f, d);
0
0 / 0 / 0
Регистрация: 16.07.2020
Сообщений: 8
16.07.2020, 20:16  [ТС]
У Вас в данной строчке '====m-m====' по 1 лишнему знаку "=" с каждой стороны.
0
 Аватар для GulgDev
132 / 118 / 29
Регистрация: 09.07.2019
Сообщений: 1,071
16.07.2020, 20:48
Красивое дерево:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import os;
 
def get_gap(count, width):
    return (os.get_terminal_size().columns - ((12 * count) * 2 + width)) // 2;
 
def draw_branch(count, width):
    for element in [':)\_____/(:', ' {(@)v(@)} ', ' {|~- -~|} ']:
        print(' ' * get_gap(count, width) + ' '.join([element for i in range(count)]) + f' {"|" * width} ' + ' '.join([element for i in range(count)]));
    print(' ' * get_gap(count, width) + '='.join(['====m-m====' for i in range(count)]) + f'={"|" * width}=' + '='.join(['====m-m====' for i in range(count)]));
def empty(count, width):
    print(' ' * get_gap(count, width) + ' ' * (12 * count) + '|' * width + ' ' * (12 * count));
def draw_root(count, width):
    print('_' * get_gap(count, width) + '_' * (12 * count) + '|' * width + '_' * (12 * count) + '_' * get_gap(count, width))
def tree(on_one_branch, floors, distance_between_floors, tree_width):
    for floor in range(floors):
        draw_branch(on_one_branch, tree_width);
        for i in range(distance_between_floors):
            empty(on_one_branch, tree_width);
    draw_root(on_one_branch, tree_width);
 
if __name__ == '__main__':
    c, f, d, w = (int(input(f'Введите {value}: ')) for value in ['кол-во сов на одной ветке', 'кол-во этажей', 'расстояние между этажами', 'ширину ствола']);
    os.system('pause');
    os.system('cls');
    tree(c, f, d, w);
Добавлено через 42 секунды
Цитата Сообщение от novichok_1003 Посмотреть сообщение
У Вас в данной строчке '====m-m====' по 1 лишнему знаку "=" с каждой стороны.
Ничего лишнего.

Добавлено через 34 секунды

Не по теме:

novichok_1003, в моем коде никогда не бывает лишних частей, только недостающих)



Добавлено через 12 минут
Дерево с листвой:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import os;
 
def get_gap(count, width):
    return (os.get_terminal_size().columns - ((12 * count) * 2 + width)) // 2;
 
def draw_leaf(count, width):
    central_width = (12 * count) * 2 + width + 2;
    x = 4;
    while x < central_width:
        for i in range(2):
            print(' ' * (get_gap(count, width) - 1) + ' ' * ((central_width - x) // 2) + '#' * x);
        x += 8;
    for i in range(4):
        print(' ' * (get_gap(count, width) - 1) + '#' * central_width);
    while x >= 4:
        for i in range(2):
            print(' ' * (get_gap(count, width) - 1) + ' ' * ((central_width - x) // 2) + '#' * x);
        x -= 8;
def draw_branch(count, width):
    for element in [':)\_____/(:', ' {(@)v(@)} ', ' {|~- -~|} ']:
        print(' ' * get_gap(count, width) + ' '.join([element for i in range(count)]) + f' {"|" * width} ' + ' '.join([element for i in range(count)]));
    print(' ' * get_gap(count, width) + '='.join(['====m-m====' for i in range(count)]) + f'={"|" * width}=' + '='.join(['====m-m====' for i in range(count)]));
def empty(count, width):
    print(' ' * get_gap(count, width) + ' ' * (12 * count) + '|' * width + ' ' * (12 * count));
def draw_root(count, width):
    print('_' * get_gap(count, width) + '_' * (12 * count) + '|' * width + '_' * (12 * count) + '_' * get_gap(count, width))
def tree(on_one_branch, floors, distance_between_floors, tree_width):
    draw_leaf(on_one_branch, tree_width);
    for floor in range(floors):
        draw_branch(on_one_branch, tree_width);
        for i in range(distance_between_floors):
            empty(on_one_branch, tree_width);
    draw_root(on_one_branch, tree_width);
 
if __name__ == '__main__':
    c, f, d, w = (int(input(f'Введите {value}: ')) for value in ['кол-во сов на одной ветке', 'кол-во этажей', 'расстояние между этажами', 'ширину ствола']);
    os.system('pause');
    os.system('cls');
    tree(c, f, d, w);
Добавлено через 9 минут
Генерация деревьев:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import os, random;
 
def get_gap(count, width):
    return (os.get_terminal_size().columns - ((12 * count) * 2 + width)) // 2;
 
def draw_leaf(count, width):
    central_width = (12 * count) * 2 + width + 2;
    x = 4;
    while x < central_width:
        for i in range(2):
            print(' ' * (get_gap(count, width) - 1) + ' ' * ((central_width - x) // 2) + '#' * x);
        x += 8;
    for i in range(4):
        print(' ' * (get_gap(count, width) - 1) + '#' * central_width);
    x -= 8;
    while x >= 4:
        for i in range(2):
            print(' ' * (get_gap(count, width) - 1) + ' ' * ((central_width - x) // 2) + '#' * x);
        x -= 8;
def draw_branch(count, width):
    for element in [':)\_____/(:', ' {(@)v(@)} ', ' {|~- -~|} ']:
        print(' ' * get_gap(count, width) + ' '.join([element for i in range(count)]) + f' {"|" * width} ' + ' '.join([element for i in range(count)]));
    print(' ' * get_gap(count, width) + '='.join(['====m-m====' for i in range(count)]) + f'={"|" * width}=' + '='.join(['====m-m====' for i in range(count)]));
def empty(count, width):
    print(' ' * get_gap(count, width) + ' ' * (12 * count) + '|' * width + ' ' * (12 * count));
def draw_root(count, width):
    print('_' * get_gap(count, width) + '_' * (12 * count) + '|' * width + '_' * (12 * count) + '_' * get_gap(count, width))
def tree(on_one_branch, floors, distance_between_floors, tree_width):
    draw_leaf(on_one_branch, tree_width);
    for floor in range(floors):
        draw_branch(on_one_branch, tree_width);
        for i in range(distance_between_floors):
            empty(on_one_branch, tree_width);
    draw_root(on_one_branch, tree_width);
 
def generate_tree():
    c = random.randint(1, 3);
    f = random.randint(1, 6);
    d = random.randint(1, 5);
    w = random.randint(1, 4);
    tree(c, f, d, w);
 
import time;
 
if __name__ == '__main__':
    s = int(input('Введите сумму пожертвования: '));
    if s // 15 == 0:
        print('Вы не спасли семей сов.')
    else:
        print('Вот семьи, которые вы спасли:')
        os.system('pause');
    for i in range(s // 15):
        generate_tree();
        time.sleep(1);
        os.system('cls');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2020, 20:48
Помогаю со студенческими работами здесь

Кривая и её семейство
Доброго времени суток! Очень нужна помощь с матлабом. Сама кривая задана параметрически. Функцию, зависящую от x и y я вроде нашла...

Луковое семейство
Чиполлино был сыном Чиполлоне. И было у него семь братьев: Чиполлетто, Чиполлотто, Чиполлочча, Чиполлучча и так далее – самые подходящие...

Построить семейство кривых
Построить семейство кривых y = f(x) для указанных значений параметра λ и оси координат с указанием минимального и ...

Построить семейство кривых
По заданным уравнениям построить семейство кривых

Построить семейство кривых
построить семейство кривых y = f(x) для указанных значений параметра л(лямбда) и оси координат с указанием минимального и ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru