0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 153

Создание словаря в python

03.01.2021, 23:37. Показов 2762. Ответов 28

Студворк — интернет-сервис помощи студентам
Использовать словарь, содержащий следующие ключи: название пункта назначения рейса;
номер рейса; тип самолета. Написать программу, выполняющую следующие действия: ввод
с клавиатуры данных в список, состоящий из словарей заданной структуры; записи должны
быть упорядочены по возрастанию номера рейса; вывод на экран номеров рейсов и типов
самолетов, вылетающих в пункт назначения, название которого совпало с названием,
введенным с клавиатуры; если таких рейсов нет, выдать на дисплей соответствующее
сообщение.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.01.2021, 23:37
Ответы с готовыми решениями:

Python - найти список значений ключей словаря вложенного в списки
Добрый день уважаемые форумчане. Вопрос такой: Есть список - d, и список ключей l: d = , , , ] l =

Создание словаря
в файле districts.txt содержится информация о численности населения (тыс.жителей) районов городов извлечь эти данные и сформировать...

Создание словаря
Заданы данные о n=10 учащихся нескольких школ, занимающихся в районном доме творчества (фамилия, имя, адрес, номер школы и класс). Создать...

28
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 153
04.01.2021, 15:27  [ТС]
Студворк — интернет-сервис помощи студентам
Semen-Semenich, if name необходимо как условие,которое было задано и оно во всех заданиях что выполнял добавляется,type использовал для типа самолёта,как указано в задании

Добавлено через 3 минуты
Welemir1, то есть 5 строку можно удалить?я просто действую по примеру,не у меня были случаи,но всё требуют как по примеру
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
04.01.2021, 15:38
Цитата Сообщение от Tvimexer Посмотреть сообщение
то есть 5 строку можно удалить?
это означает только то что я написал. Что ты не смог придумать нового имени для другой коллекции
0
 Аватар для Semen-Semenich
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
04.01.2021, 15:38
Цитата Сообщение от Tvimexer Посмотреть сообщение
if name необходимо как условие
Цитата Сообщение от Tvimexer Посмотреть сообщение
type использовал
послушайте хороший совет
Цитата Сообщение от Welemir1 Посмотреть сообщение
Ну возьми ты любую книгу по питону, почитай вечерок
там первое чему учат так это не использовать зарезервированные слова! type одно из них даже цвет на это указывает! сама задача глупо выглядит. создать список ради того что бы потом в нем искать рейсы. все решается одним словарем. это так для наглядности
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
airport = {} 
while True:
    if input('ввод - 1, завершить - 0 >>: ') == '0': break
    point_destination = input('пункт назначения: ')
    data = [input(f'{i}: ') for i in ('номер рейса', 'тип самолета')]
    airport.setdefault(point_destination, sorted([], key = lambda x : int(x)[0])).append(data)
    
while True:
    point_destination = input('пункт назначения или 0 для выхода >>: ')
    if point_destination == '0': break
    if point_destination in airport:
        print(point_destination)
        for data in airport.get(point_destination):
            print(*data)
    else:
        print('рейса такого немає')
0
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 153
04.01.2021, 15:41  [ТС]
Semen-Semenich, просто не знаю как можно ещё назвать тип самолёта,как его указать,код что вы прислали верный,я в этом не сомневаюсь,но надо привести в порядок это
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import sys
 
if __name__ == '__main__':
    # Список .
    airport = []
 
    # Организовать бесконечный цикл запроса команд.
    while True:
        # Запросить команду из терминала.
        command = input(">>> ").lower()
 
        # Выполнить действие в соответствие с командой.
        if command == 'exit':
            break
 
        elif command == 'add':
            # Запросить данные .
            race = input("Название пункта назначения рейса ")
            number = input("Номер рейса ")
            type = input("Тип самолёта ")
 
            # Создать словарь.
            airports = {
                'race': race,
                'number': number,
                'type': type,
            }
 
            # Добавить словарь в список.
            airport.append(airports)
            # Отсортировать список в случае необходимости.
            if len(airport) > 1:
                airport.sort(key=lambda item: item.get('race', ''))
 
        elif command == 'list':
            # Заголовок таблицы.
            line = '+-{}-+-{}-+-{}-+-{}-+'.format(
                '-' * 4,
                '-' * 30,
                '-' * 20,
                '-' * 20
            )
            print(line)
            print(
                '| {:^4} | {:^30} | {:^20} | {:^20} |'.format(
                    "No",
                    "Пункт",
                    "Номер",
                    "Тип самолёта."
                )
            )
            print(line)
 
            # Вывести данные о всех рейсах.
            for idx, airports in enumerate(airport, 1):
                print(
                    '| {:>4} | {:<30} | {:<20} | {:>20} |'.format(
                        idx,
                        airports.get('race', ''),
                        airports.get('number', ''),
                        airports.get('type', 0)
                    )
                )
 
            print(line)
 
        elif command.startswith('select '):
            parts = command.split(' ', maxsplit=2)
            sel = (parts[1])
 
            count = 0
            for airports in airport:
                if airports.get('race') == sel:
 
                    count += 1
                    print(
                        '{:>4}: {}'.format(count, airports.get('race', ''))
                    )
                    print('Номер рейса:', airports.get('number', ''))
                    print('Тип самолёта:', airports.get('type', ''))
 
            # Если счетчик равен 0, то рейсы не найдены.
            if count == 0:
                print("Рейс не найден.")
 
        elif command == 'help':
            # Вывести справку о работе с программой.
            print("Список команд:\n")
            print("add - добавить рейс;")
            print("list - вывести список рейсов;")
            print("select <товар> - информация о рейсе;")
            print("help - отобразить справку;")
            print("exit - завершить работу с программой.")
 
        else:
            print("Неизвестная команда {command}", file=sys.stderr)
0
 Аватар для Semen-Semenich
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
04.01.2021, 15:59
Цитата Сообщение от Tvimexer Посмотреть сообщение
ещё назвать тип самолёта
тип самолета это его модель Boeing 747 или ТУ 154 но не число с запятой о чем я вам указал выше. но если уж хочется именно тип
Python
1
type_aircraft = input()
но что бы это знать нужно
Цитата Сообщение от Welemir1 Посмотреть сообщение
Ну возьми ты любую книгу по питону, почитай вечерок
насчет вашего кода мне легче новый написать чем исправлять ваш. тем более в условии не про какие таблицы в выводе ни слова.
0
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 153
04.01.2021, 16:04  [ТС]
Semen-Semenich, просто мусор что есть,обусловлен примером,не он,то согласен,что можно оформить проще
0
 Аватар для Semen-Semenich
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
04.01.2021, 19:08
как то так но это не точно
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
def creature():
    dct = {}
    for key in (DESTINATION, FLIGHT_NUMBER, TYPE_AIRCRAFT ):
        dct[key] = input(f'{key}: ')
    return dct
 
def list_info():
    air = sorted(airport, key = lambda x : int(x.get(FLIGHT_NUMBER)))
    return[list(info.values()) for info in air)]
 
def select_info():
    point_destination = input(f'{DESTINATION}: ')
    air = sorted(airport, key = lambda x : int(x.get(FLIGHT_NUMBER)))
    return[list(dct.values()) for dct in air if point_destination in dct]
 
    
print("Список команд:\n")
print("add - добавить рейс;")
print("list - вывести список рейсов;")
print("select  - информация о рейсе;")
print("exit - завершить работу с программой.")
 
 
DESTINATION = 'пункт назначения'
FLIGHT_NUMBER = 'номер рейса'
TYPE_AIRCRAFT = 'тип самолета'
 
 
airport = []
while True:
    # Запросить команду из терминала.
    command = input("команда >>> ").lower()
    if command == 'exit':
        break
    elif command == 'add':
        airport.append(creature())
    elif command == 'list':
        for data in list_info():
            print(*data)
    elif command == 'select':
        for data in select_info():
            print(*data)
0
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 153
04.01.2021, 20:09  [ТС]
Semen-Semenich,
Миниатюры
Создание словаря в python  
0
 Аватар для Semen-Semenich
5239 / 3483 / 1176
Регистрация: 21.03.2016
Сообщений: 8,314
04.01.2021, 20:34
измените функцию на этот вариант
Python
1
2
3
4
def select_info():
    point_destination = input(f'{DESTINATION}: ')
    air = sorted(airport, key = lambda x : int(x.get(FLIGHT_NUMBER)))
    return[list(dct.values()) for dct in air if point_destination in dct.values()]
и это условие так переписать
Python
1
2
3
4
5
6
7
elif command == 'select':
        result = select_info()
        if result:
            for data in result:
                print(*data)
        else:
            print('нет данных')
ну и допиливайте ошибки. я не тестил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.01.2021, 20:34

Создание словаря
С помощью интернета создай словарь &quot;страна - население&quot; (как минимум 4 страны) Программа спрашивает у пользователя какую страну...

Создание словаря списков
Доброго дня! пытаюсь создать словарь списков, где ключом является значение ячеек excel файла столбца А, значениям список состоящий из...

Создание компактного словаря
Добрый день. Как создать компактный словарь, т.е чтобы такой словарь {1: 2, 3: 4, 5: 4, 7: 2, 9: 4} стал {(3,9,5): 4, (1,7): 2}. Можно...

Создание латино-английского словаря
хелп плиз, как сделать так чтобы мой код принимал такие входные данные: { &quot;apple&quot; : , 'fruit' : , 'punishment' : } а то мой код...

Напишите программу, которая имитирует работу англо-русского и русско-английского словаря. python
Напишите программу, которая имитирует работу англо-русского и русско-английского словаря. Программа может принимать на вход как ...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

Новые блоги и статьи
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru