Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24

Исправить баг

03.11.2019, 15:54. Показов 4303. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо исправить баг в коде ниже, я пыталась это сделать разными способами, ничего не получается( Если я правильно поняла суть бага в том, что там сохраняется цифра, каждый раз новая. А если нам нужна старое значение, то его уже нет, желательно с пояснением, заранее спасибо)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def hash(key):
 
    return len(key)
 
storage = [0] * 13
 
def set_value(key):
 
    index = hash(key)
 
    return storage[index]
 
def get_value(key,value):
 
    index = hash(key)
 
    storage[index] = value
 
get_value("XYZ", 7)
 
get_value("ABC", 42)
 
print(set_value("XYZ"))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2019, 15:54
Ответы с готовыми решениями:

Исправить баг
import random #***************************** digit = 0 dig1 = 0 dig2 = 0 dig3 = 0 #**************************** x = 0 x1 =...

Как исправить ошибку: формат теста исправить нельзя, только текст программы
class AmericanDate: def __init__(self, y, m, d): self.get_year = str(y) self.get_month = str(m//10)+str(m%10) ...

Исправить баг
сайт mixdoors.ru, плагин mavik Thumbnails (увеличение изображения ) работает в материалах, но не работает на страницах virtuemart, на...

32
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24
03.11.2019, 18:00  [ТС]
Студворк — интернет-сервис помощи студентам
Рыжий Лис, спааасибо)
0
03.11.2019, 18:01

Не по теме:

хватит звать меня по нику

0
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24
03.11.2019, 19:33  [ТС]
Рыжий Лис, вы наверное будете гореть с моей тупости( но вот что сказал преподаватель)
"Если я заведу 2 ключа: abc и cba со значениями 1 и 2 соответственно, то cba перезапишет abc. Т.е. коллизии не обрабатываются."
задание было "Избавиться от коллизии"

Добавлено через 52 секунды
Рыжий Лис, А как правильно к вам обращаться?(
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.11.2019, 20:01
Вот! Шла вторая страница треда, и мы выяснили задание.

К сожалению, с ходу подсказать решение не могу. Предлагаю почитать это: https://neerc.ifmo.ru/wiki/index.php?oldid=68142

Не по теме:

Цитата Сообщение от harlyk Посмотреть сообщение
Рыжий Лис, А как правильно к вам обращаться?(
Просто не нажимай на ник, чтобы не вставлялось [nick]Рыжий Лис[/nick]. Я и без этого вижу новые сообщения.

0
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24
03.11.2019, 20:09  [ТС]
вот так вот бывает)) а если не сходу?( спасибо за помощь

Добавлено через 1 минуту
ОООчень надеюсь на вашу помощь, от этого зависит мой зачёт, а я туплю по черному) но буду пытаться и надеяться на вас(

Добавлено через 4 минуты
помогите(((

Добавлено через 14 секунд
помогите(((
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.11.2019, 20:13
Лучший ответ Сообщение было отмечено harlyk как решение

Решение

Открытая адресация

В массиве H хранятся сами пары ключ-значение. Алгоритм вставки элемента проверяет ячейки массива H в некотором порядке до тех пор, пока не будет найдена первая свободная ячейка, в которую и будет записан новый элемент. Этот порядок вычисляется на лету, что позволяет сэкономить на памяти для указателей, требующихся в хеш-таблицах с цепочками.
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
#уроки во школе серы и скучны
#веселья ни грамма в глазах школоты
 
 
size = 13
storage = [None] * size
 
def hash(key):
    result = 0
    for i in key:
        result += ord(i)
    return result % size
 
def set_value(key, value):
    index = hash(key)
    while storage[index]:
        index += 1
    storage[index] = key, value
 
def get_value(key):
    index = hash(key)
    key2, value = storage[index]
    while key2 != key:
        key2, value = storage[index]
    return value
 
 
print(storage)
set_value('abc', 7)
print(storage) 
set_value('cba', 42)
print(storage)
assert get_value('abc') == 7
print(storage)
Отсутствует проверка на выходы за границы списка.

Состояние хранилища:
Code
1
2
3
4
[None, None, None, None, None, None, None, None, None, None, None, None, None]
[None, None, None, None, None, None, None, None, ('abc', 7), None, None, None, None]
[None, None, None, None, None, None, None, None, ('abc', 7), ('cba', 42), None, None, None]
[None, None, None, None, None, None, None, None, ('abc', 7), ('cba', 42), None, None, None]
То есть храниться пара (ключ, значение). Если ячейка уже занята, то берётся следующая.
0
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24
03.11.2019, 20:26  [ТС]
Рыжий Лис, огромное спасибо

Добавлено через 11 минут
скажи пожалуйста, что делает эта строка ?
Python
1
assert get_value('abc') == 7
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.11.2019, 20:28
это проверка, можете её удалить

Добавлено через 23 секунды
Если условие ложное, то бросится исключение.
0
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24
03.11.2019, 20:29  [ТС]
Рыжий Лис, Если ввести cba 42, то зацикливается( ваш вариант когда
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.11.2019, 20:33
Python
1
2
3
4
5
6
7
def get_value(key):
    index = hash(key)
    key2, value = storage[index]
    while key2 != key:
        index += 1 #забыл
        key2, value = storage[index]
    return value
0
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24
03.11.2019, 20:51  [ТС]
спасибоооо) вы бог)

Добавлено через 7 минут
мне все ещё требуется ваша помощь, ответ преподавателя(
"Когда storage заполнится это всё упадёт."
видимо не судьба это сдать(

Добавлено через 5 минут
Рыжий Лис, и меня минусанули на -41(( я просто очень тупая и переживаю( простите
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.11.2019, 20:52
Оно упадёт ещё раньше, потому что его заполнение идёт не сначала.

Добавлено через 48 секунд
Отсутствует проверка на выходы за границы списка.
Так добавьте.
0
-16 / 1 / 0
Регистрация: 23.06.2019
Сообщений: 24
03.11.2019, 21:48  [ТС]
и что с этим делать? Точнее как это сделать?

Добавлено через 1 минуту
Рыжий Лис, честно говоря, я запуталась и не особо понимаю, что происходит(

Добавлено через 28 минут
Помогите, сделать чтобы не падало) я думаю, я вас очень бешу свое тупостью и тем что, ною( и спасибо за всё что вы сделали

Добавлено через 6 минут
Рыжий Лис, мне надо просто расширить список, чтобы не падало?

Добавлено через 10 минут
Рыжий Лис, это конец?(

Добавлено через 5 минут
Рыжий Лис, Моего знания языка недостаточно чтобы это сделать, прошу вашей помощи)

Добавлено через 2 минуты
Рыжий Лис, хотя бы дайте намек)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2019, 21:48
Помогаю со студенческими работами здесь

Как исправить баг?
Проблема следующая, при вводе play game или analyaze document меня должно перебросить в игру("угадай число") или проанализировать...

Баг ,как исправить?
Добрый день хотел бы обратиться к вам за помощью есть код : using System.Collections; using System.Collections.Generic; ...

Исправить баг (не фичу)
В моей игре не всегда работает начало новой игры при нажатии на "начать игру", просто пустой экран. Но не всегда, бывает работает бывает...

Как исправить баг
Ребята помогите исправить баг Win8x64

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


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью 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
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru