Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708

Ошибка при выходных данных словаря

20.05.2021, 14:27. Показов 879. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые, помогите исправить ошибку, выходные данные не соответствуют
входным. В цикле while, переменная child.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DEFAULT = {
​ ​ 'name': 'John',
​ ​ 'surname': 'Doe',
​ ​ 'children': []
}
 
people = []
num = input('num of people: ')
for i in range(int(num)):
​ ​ name = input('name: ') or DEFAULT.get('name')
​ ​ surname = input('surname: ') or DEFAULT.get('surname')
​ ​ children = DEFAULT.get('children')
​ ​ child = None
​ ​ while child != '':
​ ​ ​ ​ child = input('child: ')
​ ​ ​ ​ if child:
​ ​ ​ ​ ​ ​ children.append(child)
​ ​ people.append({'name': name, 'surname': surname, 'children': children})
 
for i, each in enumerate(people, 1):
​ ​ print(f'{i}: {each}')
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2021, 14:27
Ответы с готовыми решениями:

Что я не дописал ошибка в выходных данных
var a, b: integer; begin read(a, b); if b mod sqr(a) = 0 then writeln(a, ' ', b) else writeln(-1) end. Написал программу,...

При передаче выходных значений из блока функции возникает ошибка
При попытке передать значения вылетает ошибка Код блока: bb=100; Aeq=; for i=1:N Aeq(i,M*(i-1)+1:M*(i-1)+M)=1; end

Ошибка при компиляции: два имени выходных файлов разрешаются в один и тот же путь
Здравствуйте, при компиляции возникала такая ошибка, что это значит?

8
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
20.05.2021, 16:28
AlexMarkov, У Вас в коде полно ошибок.
Вы что, пишите в обычном текстовом редакторе? Или все-таки используете средство разработки? Тогда какое?
Средство разработки показывает, где у Вас ошибки в синтаксисе.
1
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
20.05.2021, 17:15  [ТС]
Viktorrus, прошу прощения и спасибо за ответ, набирал с андроида, а так вроде бы задача решена присвоением переменной children поверхностной копии.

Добавлено через 6 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import copy
 
DEFAULT = {
    'name': 'John',
    'surname': 'Doe',
    'children': []
}
 
people = []
num = input('num of people: ')
for i in range(int(num)):
    name = input('name: ') or DEFAULT.get('name')
    surname = input('surname: ') or DEFAULT.get('surname')
    children = copy.deepcopy(DEFAULT.get('children'))
    child = None
    while child != '':
        child = input('child: ')
        if child:
            children.append(child)
    people.append({'name': name, 'surname': surname, 'children': children})
 
for i, each in enumerate(people, 1):
    print(f'{i}: {each}')
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
20.05.2021, 17:16
Цитата Сообщение от AlexMarkov Посмотреть сообщение
выходные данные не соответствуют
входным. В цикле while, переменная child.
что вводишь, что на входе, что ждешь на выходе?
1
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
20.05.2021, 17:21  [ТС]
Welemir1, все норм, ошибка в присвоении ключу children всех введенных значений. Вопрос в другом, реализация данной задачи другими методами.
А задачка звучит так:
Предполагается, что данный код должен запрашивать и затем выводить имя, фамилию человека и его детей (если они есть).
Однако, код содержит ошибку, приводящую при определенных условиях к некорректному выводу (выходные данные не соответствуют входным).
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
20.05.2021, 17:23
Цитата Сообщение от AlexMarkov Посмотреть сообщение
приводящую при определенных условиях к некорректному выводу (выходные данные не соответствуют входным).
при каких? и как именно не соответствуют?

Добавлено через 42 секунды
Цитата Сообщение от AlexMarkov Посмотреть сообщение
реализация данной задачи другими методами.
просто классами
1
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
20.05.2021, 17:23  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
при каких? и как именно не соответствуют?
в задаче таких условий нет, надо самому определить, я так понял.

Добавлено через 24 секунды
Цитата Сообщение от Welemir1 Посмотреть сообщение
просто классами
и я так думаю...ну или именованными кортежами
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
20.05.2021, 21:49
AlexMarkov, Теперь все нормально работает. У Вас в первом варианте кода были в том числе синтаксические ошибки. Поэтому программа останавливалась, сообщая о синтаксической ошибке. После ее устранения сообщал о другой синтаксической ошибке. Поэтому полностью первый вариант программы мне не удалось полностью проверить.
Второй вариант программы работает нормально.
У Вас какая версия питона?
Вы отладчиком пользуетесь? Почему в первом варианте Вы не обнаружили синтаксические ошибки?
Задача действительно оптимально решается с помощью классов.

Добавлено через 9 минут
Цитата Сообщение от AlexMarkov Посмотреть сообщение
присвоением переменной children поверхностной копии
Поправлю.
Вы оговорились, deepcopy это не поверхностная, а глубокая копия.

Добавлено через 5 минут
Python
1
2
import copy  
X = copy.deepcopy(Y)              # Создание полной копии: копируются все вложенные части
1
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
21.05.2021, 05:51  [ТС]
Viktorrus, Почему в первом варианте Вы не обнаружили синтаксические ошибки?
У меня ошибок не было, ошибка в синтаксисе появилась при копировании удалением одного пробела.
Вы отладчиком пользуетесь
Пользуюсь и дебагером на PyCharm и стандартным IDLE отладчиком. Ну на практике, задачи слишком простые как и в этом случае, не требуется.

Добавлено через 2 минуты
Вы оговорились, deepcopy это не поверхностная, а глубокая копия
Действительно, оговорился, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2021, 05:51
Помогаю со студенческими работами здесь

Ошибка при поиске словаря ресурсов
В проекте использую файл ресурсов. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...

При попытке внутри функции выдать значение из словаря по ключу, возникает ошибка строковых индексов
Всем доброго времени суток, Пишу обычную игру "угадай число". Суть такова: игра генерирует случайное число (от 0 до 100). Юзер...

При попытке внутри функции выдать значение из словаря по ключу, возникает ошибка строковых индексов
Всем доброго времени суток, Пишу обычную игру "угадай число". Суть такова: игра генерирует случайное число (от 0 до 100). Юзер...

Реализовать ввод данных из файла, просмотр входных и выходных данных
помогите пожалуйста с вот этой программой создать программный комплекс, реализующий ввод данных из файла, просмотр входных и выходных...

Создать программный комплекс, реализующий ввод данных из файла, просмотр входных и выходных данных.
Создать программный комплекс, реализующий ввод данных из файла, просмотр входных и выходных данных. Программа заполняет массив из 10...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью 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 , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru