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

Исправить ошибку в коде

23.11.2022, 21:57. Показов 401. Ответов 0

Студворк — интернет-сервис помощи студентам
Дана задача:
1. Пусть список студентов представлен в виде структуры [[№, ФИО, Возраст,
Группа],[№, ФИО, Возраст, Группа],[№, ФИО, Возраст, Группа]].
Преобразуйте список в словарь вида: {№: [ФИО, Возраст, Группа], №:
[....], №: [....]}

2. Добавьте к задаче №1 для словаря возможность (без преобразования
словаря обратно в список) изменить «ФИО» студента. Поиск по «ФИО» (старое и новое «ФИО»
студента необходимо ввести с клавиатуры).

Не получается внести новое ФИО с клавиатуры (знаю, что не получится использовать изменяемый тип данных, то есть переменную str в качестве ключа, но как это исправить?). Вместо нового ФИО добавляет в словарь .!entry2

Исходный код:
from tkinter import *
def click1():
global str2
students = {}
lst = [[1,'Ашков Илья Петрович',24,'БО-222222'],[2,'Иванов Иван Иванович', 23, 'БО-111111'],[3,'Сидоров Семен Семенович', 24, 'БО-222222']]
for student in lst:
students[student[0]] = [student[1], student[2], student[3]]
for key in students:
if str1.get() == students[key][0]:
lbl4 = Label(windowStart, text="Введите новую фамилию студента: ", font=("Times New Roman", 14))
lbl4.grid(column=0, row=10)
str2 = Entry(windowStart, width=15)
str2.grid(column=0, row=12)
btn3 = Button(windowStart, text="Изменить ФИО", height=1, width=15, command=click1_2)
btn3.grid(column=0, row=14)


def click1_1():
students = {}
lst = [[1,'Ашков Илья Петрович',24,'БО-222222'],[2,'Иванов Иван Иванович', 23, 'БО-111111'],[3,'Сидоров Семен Семенович', 24, 'БО-222222']]

for student in lst:
students[student[0]] = [student[1], student[2], student[3]]
lbl1["text"] = "Исходный список студентов: {}".format(lst)
lbl2["text"] = "Список студентов в виде словаря: {}".format(students)

def click1_2():
students = {}
lst = [[1, 'Ашков Илья Петрович', 24, 'БО-222222'], [2, 'Иванов Иван Иванович', 23, 'БО-111111'],
[3, 'Сидоров Семен Семенович', 24, 'БО-222222']]
for student in lst:
students[student[0]] = [student[1], student[2], student[3]]
for key in students:
if str1.get() == students[key][0]:
new_name = str(str2)
students[key][0] = new_name
lbl5 = Label(windowStart, text="Новый список студентов в виде словаря: ", font=("Times New Roman", 14))
lbl5.grid(column=0, row=16)
lbl5["text"] = "Новый список студентов в виде словаря: {}".format(students)

windowStart = Tk()
windowStart.title("ЛР8")
windowStart.geometry('1500x500')
lbl1 = Label(windowStart, text="Исходный список студентов: ", font=("Times New Roman", 14))
lbl1.grid(column=0, row=0)
lbl2 = Label(windowStart, text="Список студентов в виде словаря: ", font=("Times New Roman", 14))
lbl2.grid(column=0, row=2)
btn1 = Button(windowStart, text="Преобразовать", height = 1, width = 15, command=click1_1)
btn1.grid(column=0, row=3)
btn2 = Button(windowStart, text="Найти студента", height = 1, width = 15, command=click1)
btn2.grid(column=0, row=8)
lbl3 = Label(windowStart, text="Введите фамилию студента: ", font=("Times New Roman", 14))
lbl3.grid(column=0, row=4)
lbl5 = Label(windowStart, text="", font=("Times New Roman", 14))
lbl5.grid(column=0, row=10)
str1 = Entry(windowStart, width=15)
str1.grid(column=0, row=6)
windowStart.mainloop()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.11.2022, 21:57
Ответы с готовыми решениями:

Исправить ошибку в коде
Здравствуйте, помогите пожалуйста с такой проблемой. Я написал код, который вычисляет введённые арифметические выражения, но вместо выдачи...

Как исправить ошибку в коде?
Запись числа 338 в системе счисления с основанием N содержит 3 цифры и оканчивается на 2. Чему равно максимально возможное основание...

Исправить ошибку в коде
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # В списке, состоящем из вещественных элементов, вычислить: # 1) произведение...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2022, 21:57
Помогаю со студенческими работами здесь

Исправить ошибку в коде
import sys from PyQt5 import uic from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget class Window(QMainWindow): ...

Как исправить ошибку в коде
Проблема в выполнении кода. При вводе чисел "1 1 1 1" или "30 1 2 3" выдаёт ошибку: "line 49, in <module> if correct_card ==...

Необходимо исправить ошибку в коде
Здравствуйте, помогите пожалуйста исправить ошибку в коде. Буду очень благодарен за помощь ;) Код: from aiogram import Bot, types ...

Помогите исправить ошибку в коде
import string n=input() b=input() m=False result = list(n) result2=list(b) if result.isdigit()==m or result2.isdigit()==m : ...

PyQt5 не понимаю как исправить ошибку в коде
Собственно нужно очистить QListWidget (12 строчка), при нажатии по кнопке (41 строчка), подключается метод test (46 строчка), в методе test...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru