Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 5

Python ООП

02.12.2016, 16:35. Показов 1886. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно создать класс, который должен содержать словарь, в качестве ключей которого есть страны, а в качестве значений - кортеж, который включает название столицы, ее площадь и количество населения.
Методы класса должны определять список стран, столицы которых имеют количество населения в заданном диапазоне. Определять список стран, которые имею столицы с заданным диапазоном площади, определять отношение площади столицы к площади страны, а так же определять название страны, которой принадлежит столица.
Создать объект класса, который использует все методы класса. Программа должна выводить список стран, которые содержат население с введенного диапазон в порядке спадания. Так же при выводе стран, которые имею столицы в заданном диапазоне, использовать сортировку в порядке спадания. В обоих случаях выводить также название столицы, количество ее населения и площадь. При вводе названия столицы, программа должна выводить страну, которой она принадлежит.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.12.2016, 16:35
Ответы с готовыми решениями:

Python и ООП
Всем привет. Я Пайтон изучаю параллельно с Java. И многое в Пайтоне остается сложным и непонятным. В какомто самоучителе я прочитал,...

Python ООП
Пытаюсь изучить объектно-ориентированное программирование. В теории вроде все понятно на простых примерах, но как реализовать в программе...

Пояснение в ООП Python
Читал статью и не могу разобраться в одном моменте,поясните пожалуйста почему это так работает: Есть такой код: class A: qux =...

8
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
02.12.2016, 18:16
что не получается?
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 5
02.12.2016, 18:27  [ТС]
Работает только считывание из файла в словарь и метод поиска площади и населения в диапазоне
Сама структура наверное не правильная, не получается вывод
В идеале что бы помогли со всем кодом, посмотрю правильный способ
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
02.12.2016, 18:31
ну так может у Вас все правильно, давайте посмотрим.
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 5
02.12.2016, 18:38  [ТС]
словарь считываю вот так
Python
1
2
3
4
5
6
7
cDict = {} 
cTuple = () 
f = open('in1.txt', encoding = 'utf-8') 
for line in f: 
   country, count = line.strip().split(', ',1) 
   cDict[country] = tuple(count.split(', ')) 
print(cDict)
значение в диапазоне
Python
1
2
3
4
5
6
def val(self,max,min): 
 for k, v in cDict.items(): 
    n = int(v[0]) 
    if (n <= max) and (n >= min): 
       print(n) 
return(foo)
а вот все вместе не получается собрать
как то у меня с ООП не очень идет дело, сделать именно с классами и методами не могу
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
02.12.2016, 19:05
ну так может у Вас все правильно, давайте посмотрим.
Цитата Сообщение от fresko Посмотреть сообщение
в качестве ключей которого есть страны, а в качестве значений - кортеж, который включает название столицы, ее площадь и количество населения.
ее площадь --> имеется ввиду площадь столицы или страны?

Цитата Сообщение от fresko Посмотреть сообщение
определять отношение площади столицы к площади страны,
в кортеже только одно из этих значений, откуда брать второе?
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 5
02.12.2016, 19:15  [ТС]
В задании не сказано какая площадь
Думаю, что нужны обе

в файле записываю так:
Страна, площадь страны, столица, площадь столицы, население
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
02.12.2016, 19:48
Лучший ответ Сообщение было отмечено ntlinuxnt как решение

Решение

INPUT.txt
Code
1
2
3
4
Russia Moscow 2561.5 12330126
USA Washington 177.12 601723
Belarus Minsk 348.84 1959781
Canada Ottawa 2790.22 883391
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
class Geo:
    countries = {}
 
    def __init__(self, filename):
        with open(filename) as f_obj:
            for line in f_obj:
                line_list = line.split()
                self.countries[line_list[0]] = tuple(line_list[1:])
 
    def __filtersort_countries(self, mi, ma, i):
        filtered = [c for c in sorted(self.countries.items()) if mi < float(self.countries[c[0]][i]) < ma]
        return sorted(filtered, key=lambda item: float(item[1][i]), reverse=True)
 
    def population_in_range(self, minimum, maximum):
        print('\nPopulation in range {}-{}:\n'.format(minimum, maximum))
 
        for c in self.__filtersort_countries(minimum, maximum, 2):
            print('\t', c)
 
    def area_in_range(self, minimum, maximum):
        print('\nArea in range {}-{}:\n'.format(minimum, maximum))
 
        for c in self.__filtersort_countries(minimum, maximum, 1):
            print('\t', c)
 
    def get_country_by_capital(self, capital):
 
        for c in self.countries:
            if self.countries[c][0] == capital:
                print('\n{} is the capital of {}'.format(capital, c))
 
 
g = Geo('INPUT.txt')
g.population_in_range(100, 10000000)  # no russia (12M vs 10M)
g.area_in_range(200, 3000)  # no usa (200 vs 177)
g.get_country_by_capital('Ottawa')
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Population in range 100-10000000:
 
     ('Belarus', ('Minsk', '348.84', '1959781'))
     ('Canada', ('Ottawa', '2790.22', '883391'))
     ('USA', ('Washington', '177.12', '601723'))
 
Area in range 200-3000:
 
     ('Canada', ('Ottawa', '2790.22', '883391'))
     ('Russia', ('Moscow', '2561.5', '12330126'))
     ('Belarus', ('Minsk', '348.84', '1959781'))
 
Ottawa is the capital of Canada
Цитата Сообщение от fresko Посмотреть сообщение
определять отношение площади столицы к площади страны
это нужно доделать, чтобы еще считал и отношение (+ 1 функция), и формат считывания переделать, но костяк есть, будут вопросы - пишите.
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 5
02.12.2016, 19:54  [ТС]
спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.12.2016, 19:54
Помогаю со студенческими работами здесь

Чем отличается ООП в Python и Java?
Прошу дать ответ, учитывая, что JAVA не знаю. Мне тяжело дается ООП в Python, поэтому подумываю поучить в игровой манере в среде Alice, где...

Python - момент истины. Python - как оружие возмездие против системы
Какие модули в python мне нужны для взлома баз данных? Перехвата информации? Внедрения в систему? Добавлено через 10 минут Хочу...

Cx_freeze python error in main script как исправить- Python
Пытался создать из .py .exe , но при запуске .exe получаю ошибку вот код setup.py from cx_Freeze import setup, Executable import os ...

Как из Python скрипта выполнить другой python скрипт?
Как из Python скрипта выполнить другой python скрипт? Если он находится в той же папке но нужно передать еще передать скрипту аргументы.

Изучаю Python, сейчас учу основы ООП, где можно найти задачи по ООП
Скиньте пожалуйста источники с задачами(желательно на русском)


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru