Индекс совпадений - PullRequest
       18

Индекс совпадений

0 голосов
/ 02 февраля 2020

Я получаю ошибку TypeError. Это криптографическая функция c. Индекс совпадений. Я нашел одно очень похожее, что я начал менять мой, чтобы соответствовать больше. Единственное, к чему я пришел по-другому, это строка for. Вот ссылка на эту функцию. http://jdege.us/crypto-python/ar01s08.html#id2963591

Это не оригинальная ссылка, но выглядит как копия от кого-то другого. «self.count.values ​​():» возвращает ошибку AttributeError

def ioc(self):
  numerator = 0.0
  denomenator = 0.0
  for val in self.count(self):
    i = val
    numerator += i * (i - 1)
    denomenator += i
  if (denomenator == 0.0):
    return 0.0
  else:
    return numerator / ( denomenator * (denomenator - 1))

usr = str(input("Insert text here:"))

ioc(usr)

1 Ответ

0 голосов
/ 02 февраля 2020

Вы не можете перебирать int, вы должны использовать диапазон (int):

def ioc(self):
    numerator = 0.0
    denominator = 0.0
    for val in range(self.count(self)):
        i = val
        numerator += i * (i - 1)
        denominator += i
    if (denominator == 0.0):
        return 0.0
    else:
        return numerator / ( denominator * (denominator - 1))

usr = str(input("Insert text here:"))

ioc(usr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...