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

Космический ветер

29.05.2020, 14:44. Показов 3738. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Спутник, запущенный на околоземную орбиту, получает данные об энергии попавших в детектор космических частиц. Это могут быть частицы как земного (атмосферного) происхождения, так и солнечные или даже пришедшие из межзвездного пространства. Особый интерес представляют высокоэнергетические частицы, поскольку в космическом ветре можно встретить частицы таких энергий, которые пока недостижимы на наземных ускорителях, таких как БАК, например.

Все полученные данные нужно распределить по интервалам и вывести количество частиц, полученных в каждом интервале энергий, а также среднее значение энергии в каждом интервале.

Формат ввода
Передается строка, содержащая данные в виде вещественных чисел, записанных через пробел.

Формат вывода
Все данные нужно распределить по диапазонам: до 10; от 10 до 100; от 100 до 1000; свыше 1000.
Для каждого диапазона вывести через запятую количество частиц, попавших в диапазон и среднее значение энергии в этом диапазоне с точностью до 1 знака после запятой. Если в диапазоне нет частиц, он не выводится.

Пример 1
Ввод

858.0 1290.3 1283.4 1844.2 1929.0 598.2 21.9 1995.6 1662.3 1493.7
Вывод
от 10 до 100: 1, 21.9
от 100 до 1000: 2, 728.1
свыше 1000: 7, 1642.6
Пример 2
Ввод

455.7 1609.9 849.8 272.4 1338.5
Вывод
от 100 до 1000: 3, 526.0
свыше 1000: 2, 1474.2
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.05.2020, 14:44
Ответы с готовыми решениями:

Космический ветер
Спутник, запущенный на околоземную орбиту, получает данные об энергии попавших в детектор космических частиц. Это могут быть частицы как...

Космический корабль должен доставить товар на несколько космических станций N
Космический корабль должен доставить товар на несколько космических станций N. Чтобы достигнуть нужной станции, он может совершить или...

Деньги на ветер?
Ситуация такая. На сайте был раздел вида xxx.ru/xxxxx который был благополучно проиндексирован яшей и размешен в своем разделе каталога....

3
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
29.05.2020, 18:06
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
d = {}
for data in map(float, input().split()):
    if data < 10:
        d['до 10'] = d.get('до 10', []) + [data]
    elif 10 <= data < 100:
        d['от 10 до 100'] = d.get('от 10 до 100', []) + [data]
    elif 100 <= data < 1000:
        d['от 100 до 1000'] = d.get('от 100 до 1000', []) + [data]
    else:
        d['от 1000'] = d.get('от 1000', []) + [data]
 
for i in sorted(d, key = lambda x : int(x.split()[-1])):
    val = d[i]
    count = len(val)
    res = '{:.1f}'.format(sum(val)/count)
    print(f'{i}: {count}, {res}')
1
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
30.05.2020, 14:58
Python
1
2
3
4
5
6
7
8
9
10
from collections import defaultdict
from math import log10
 
d = defaultdict(list)
 
for i in map(float, input().split()):
    d[min(int(log10(i)), 3)].append(i)
 
for i in sorted(d):
    print(("от {0} до {1}: {2}, {3:.1f}" if i < 3 else "свыше {0}: {2}, {3:.1f}").format(10**i, 10**(i+1), len(d[i]), sum(d[i]) / len(d[i])))
1
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
30.05.2020, 15:31
New_user4,
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
import sys
 
 
class Range(object):
    def __init__(self, start, stop=None):
        self.sum = 0
        self.num = 0
        self.start = start
        self.stop = stop
        
    def avarange(self):
        return self.sum / self.num
        
    def add(self, data):
        if data >= self.start and (not self.stop or data < self.stop):
            self.num += 1
            self.sum += data
            
    def empty(self):
        return not self.num
            
    def __repr__(self):
        if self.stop:
            heading = 'от {} до {}'.format(self.start, self.stop)
        else:
            heading = 'свыше {}'.format(self.start)
        return heading + ': {}, {:.1f}'.format(self.num, self.avarange())
 
 
def solve():
    ranges = [Range(0,10), Range(10,100), Range(100,1000), Range(1000)]
    for data in map(float, input().split()):
        for range in ranges:
            range.add(data)
    for range in ranges:
        if not range.empty():
            print(range)
    
    
if __name__ == '__main__':
    sys.stdin = open('stdin', 'r')
    solve()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2020, 15:31
Помогаю со студенческими работами здесь

Деньги на ветер? SPDIF
Здрасьте. Есть потребность использования старенького домашнего кинотеатра в качестве аудио системы, подключал через через аукс к компу, не...

Помогает ли ветер колесу
Насколько это реально. И поможет ли оно

Апгрейд или деньги на ветер
Здравствуйте, сразу, напишу - профан. Так что, надеюсь на Ваше экспертное мнение. И так, что я имею на данный момент. Проц: intel...

Космический бой
Доброго времени суток, я новичок в C# пишу игру Космический бой, немного схожа с Auto-chess, но в консоли и на минималках :D Суть в том,...

космический зоопарк
Космический зоопарк Time limit = 5 секунд(ы) Memory limit = 33000 Kb Шёл 2130-й год. Колонисты с планеты Земля приземлились на одну...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru