Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
2 / 2 / 0
Регистрация: 25.03.2018
Сообщений: 91
1

Поправить код, быстрое действие

29.03.2018, 21:27. Показов 8008. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вам дан список столиц стран с указанным населением. Сгруппируйте города, попадающие в интервалы по 100.000 жителей и выведите на экран интервалы численности (в тысячах человек), а также столицы. Название страны следует игнорировать.
Интервалы должны быть отсортированы по возрастанию численности. Города внутри интервала - в алфавитном порядке.

Формат ввода
Братислава Словакия 625167
Брюссель Бельгия 1154635
Будапешт Венгрия 1757618
Белград Сербия 1233796
Прага Чехия 1267449
София Болгария 1286383
Тбилиси Грузия 1118035

Формат вывода
600 - 700: Братислава
1100 - 1200: Брюссель, Тбилиси
1200 - 1300: Белград, Прага, София
1700 - 1800: Будапешт

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from math import ceil
 
cities =[ 'Братислава Словакия 625167',
'Брюссель Бельгия 1154635',
'Будапешт Венгрия 1757618', 
'Белград Сербия 1233796',
'Прага Чехия 1267449', 
'София Болгария 1286383',
'Тбилиси Грузия 1118035']
 
popul = {}
 
for x in cities:
    city, _, pop = x.split()
    pop = int(ceil(int(pop)/100000)) * 100
    popul[pop] = popul.get(pop,[]) + [city]
 
popul = sorted(popul.items())
 
for k, v in popul: 
        print(int(k) - 100, '-',  k, ':',  *sorted(v))
Вывод программы
600 - 700 : Братислава
1100 - 1200 : Брюссель Тбилиси
1200 - 1300 : Белград Прага София
1700 - 1800 : Будапешт

Правильный ответ
600 - 700: Братислава
1100 - 1200: Брюссель, Тбилиси
1200 - 1300: Белград, Прага, София
1700 - 1800: Будапешт
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2018, 21:27
Ответы с готовыми решениями:

Что поправить, как усовершенствовать код?
В общем еще с потугами но уже пишу програмки которые считают что либо, и говорят какой это месяц....

Необходимо поправить код (убрать первую пустую строку)
s = list(map(int,'123 54 34 45 3 3 54 65 3 45 65 786 4 234 6 56 4 234 6 43 1 12 31 2 1 1 23 3...

Поправить код
Задача: Дан массив из 11 действительных чисел и натуральное число k. Вычислить среднее...

Поправить код
Здравствуйте добрые люди! Помогите прошу, надо уже сдать курсовую, а я еще не сделал (работа и т.д,...

Поправить код
Здравствуйте ребята, подскожите пожалуйсто, почему в условиях при повторной загрузке формы,...

2
1 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 8
13.04.2019, 22:15 2
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
from math import ceil
import sys
cit = ''
for i in sys.stdin:
    cit += i
cities = cit.split('\n')
popul = {}
for x in cities:
    city, _, pop = x.split()
    pop = int(ceil(int(pop) / 100000)) * 100
    popul[pop] = popul.get(pop, []) + [city]
popul = sorted(popul.items())
for k, v in popul:
    if len(v) > 0:
        v.sort()
        c = ''
        for i in v:
            if i != v[-1]:
                c += i + ', '
            else:
                c += i
    else:
        c = v
    print(str(int(k) - 100) + ' - ' + str(k) + ': ' + c)
0
17 / 17 / 0
Регистрация: 05.01.2020
Сообщений: 8
16.03.2020, 19:59 3
Цитата Сообщение от Pavlin235 Посмотреть сообщение
print(int(k) - 100, '-',  k, ':',  *sorted(v))
здесь просто исправь на

Python
1
    print(int(k) - 100, '-', str(k) + ':', ", ".join(sorted(v)))
Добавлено через 6 минут
а вот готовый код если надо

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from math import ceil
import sys
 
 
data = list(map(str.strip, sys.stdin))
people = dict()
 
for x in data:
    city, _, pop = x.split()
    pop = int(ceil(int(pop) / 100000)) * 100
    people[pop] = people.get(pop, []) + [city]
 
people2 = sorted(people.items())
 
for k, v in people2: 
    print(int(k) - 100, '-', str(k) + ':', ", ".join(sorted(v)))
3
16.03.2020, 19:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2020, 19:59
Помогаю со студенческими работами здесь

поправить код
Ребят,помогите поправить код.Всё работает, но неправильно немножко.В общем этот код проверяет папку...

Поправить код
Нужно чтобы при запуске программы можно было ввести число N,если это возможно. Я пока ток сделал...

Поправить код
Как сделать что б вы водило только 1 раз, если все правильно то "Вы вошли в систему", а если нет,...

Поправить код.
Как сделать так чтобы при вводе отрицательных чисел massiv_a, для massiv_b ничего не выводилось?...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru