@dert2313

Почему возникает данная ошибка?

(Программа должна найти букву латинского алфавита, которая чаще всего находится после буквы А в файле)

#ABCDEFGHIJKLMNOPQRSTUVWXYZ
abc = {}
f = open(r'/content/24242424.txt','r')
s = f.readline()
for i in range(0,len(s)):
  if s[i] == 'A':
    if s[i+1] in abc.keys():
      abc[s[i+1]] += 1
    else:
      a = s[i+1]
      b = 1
      abc.update([(a,b)])     
abc_values = list(abc.values())
maxvalue = max(abc_values)
index = abc_values.index('maxvalue')
abc_keys = list(abc.keys())
print(abc_keys[index])


Ошибка:

TypeError                                 Traceback (most recent call last)
<ipython-input-30-108175b4134c> in <module>()
     12       abc.update([(a,b)])
     13 abc_values = list(abc.values())
---> 14 maxvalue = max(abc_values)
     15 maxindex = abc_values.index('maxvalue')
     16 abc_keys = list(abc.keys())

TypeError: 'int' object is not callable
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
ayazer
@ayazer
Sr. Software Engineer
index = abc_values.index('maxvalue')
вам же нужен индекс значения maxvalue, а не литерал 'maxvalue'

s = ['A', 'B', 'C', 'B', 'A', 'D', 'D','D','A','B']

abc = {}
for i in range(0,len(s)):
  if s[i] == 'A':
    if s[i+1] in abc.keys():
      abc[s[i+1]] += 1
    else:
      a = s[i+1]
      b = 1
      abc.update([(a,b)])
abc_values = list(abc.values())
maxvalue = max(abc_values)
index = abc_values.index(maxvalue)
abc_keys = list(abc.keys())
print(abc_keys[index])  #B


TypeError: 'int' object is not callable
а для того чтоб получить эту ошибку у вас где-то выше должно было быть присвоено
max = 1

Тогда итерпретатор считает что пытаетесь вызвать переменную, а не метод
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
возможно у тебя есть цифры в строке и ты их не конкатенируешь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы