Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 27.02.2022
Сообщений: 11

Гистограмма с накоплением

27.02.2022, 21:59. Показов 4598. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Диаграмма, в которой значения отображаются в виде разных по высоте столбиков, называется вертикальной гистограммой. А если к имеющимся значениям добавляется ряд других, то они накапливаются и в тех же столбиках отображаются другими значками.
Допустим, у нас есть оценки, полученные неким учеником за один учебный день. Изобразим их в виде различных по высоте столбиков из * по различным пронумерованным предметам. На следующий день ученик снова получает оценки (пусть это те же предметы и в том же количестве). Их мы отметим +. И так далее, символы для обозначения баллов берутся из набора *+ox-̂, затем повторяются по кругу. Ширина каждого столбика 2 символа. Разделяют столбики одиночные пробелы.
Постройте такую гистограмму.

Формат ввода
Вводятся строки баллов за предметы через запятую и пробел, пока не будет введена пустая строка.
Формат вывода
Вывести гистограмму.

Пример:
Ввод:
2, 3, 0, 1, 4
1, 3, 2, 5, 1
2, 1, 1, 0, 3
Миниатюры
Гистограмма с накоплением  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2022, 21:59
Ответы с готовыми решениями:

Гистограмма с накоплением
Добрый день! Помогите, пожалуйста. Создала форму, на которой находится PictureBox, Button и DataGridView. Нужно, чтобы при вводе в DataGrid...

Диаграмма с накоплением
Всем добрый вечер! Подскажите, пожалуйста, как сделать диграмму с накоплением, как на рисунке? То есть, чтобы добавлять разные Series в...

Цикл с накоплением
Дано действительное число а, натуральное число п. Вычислить: Помогите пожалуйста! И если есть возможность нужно использовать do и...

5
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
27.02.2022, 22:36
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
bally = [
    [2, 3, 0, 1, 4],
    [1, 3, 2, 5, 1],
    [2, 1, 1, 0, 3],
]
 
histogram = []
for row in zip(*bally):
    line = []
    for i, x in enumerate(row):
        for j in range(x):
            line.append('*+ox-'[i%5])
    histogram.append(line)
    histogram.append(line.copy())
    histogram.append([])
 
height = max(map(len, histogram))
 
for row in histogram:
    for i in range(height - len(row)):
        row.append(' ')
    row.reverse()
 
for col in zip(*histogram):
    print(''.join(col))
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
28.02.2022, 02:18
Лучший ответ Сообщение было отмечено dtd1337 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
histogr = [str()] * 5
for day_symb in ('*+ox-^' * 1000):
    day = input('-> ')
    if not day:
        break
    subjects = day.split( ', ' )
    for i in range( len(subjects) ):
        histogr[i] = day_symb * int( subjects[i] ) + histogr[i]
histogr = [ x.rjust( max( map(len, histogr) ), ' ' ) for x in histogr ]
for i in range( len( histogr[0] ) ):
    [ print( h[i]*2, end=' ' ) for h in histogr ]
    print()
1
0 / 0 / 0
Регистрация: 05.03.2022
Сообщений: 26
25.03.2022, 12:58
Ошибка
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
25.03.2022, 13:09
del
0
0 / 0 / 0
Регистрация: 16.04.2022
Сообщений: 8
24.05.2022, 21:23
Я немного изменил код, который Вам дали выше:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
day_symb = ('*+ox-<' * 1000)
m = 0
subjects = []
while True:
    day = input()
    if day == '':
        break
    else:
        subjects.append(day.split(', '))
        m += 1
histogr = [str()] * len(subjects[0])
for i in range(m):
    for j in range(len(subjects[0])):
        histogr[j] = day_symb[i] * int(subjects[i][j]) + histogr[j]
histogr = [x.rjust(max(map(len, histogr)), ' ') for x in histogr]
for i in range(len(histogr[0])):
    [print(h[i] * 2, end=' ') for h in histogr]
    print()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.05.2022, 21:23
Помогаю со студенческими работами здесь

Сумма с накоплением
Есть вопрос: например,на склад поступают партии товара. Вопрос: как в запросе создать вычисляемое поле, в котором бы считалась сумма с...

Цикл с накоплением C++
Даны целые числа n и k (n&gt; = k&gt; = 0). вычислить: Нужно сделать через do-while

Сумма с накоплением
Здравствуйте! Помогите решить проблему. Есть таблица в которой на начальный период в поле - общие количество отгрупированых по ,на дату....

циклы с накоплением
помогите написать программу Вычеслить количество положительных значений Z Z=R+3a R? dR A=max(d,N) , если С &gt; 1 A это система...

Сумма с накоплением
Доброго всем времени суток. Порошу помощи… так как программист я …. Правда с миром поздаровался, галлоны в литры и фаренгейта в цельсий...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru