2015-08-09 1 views
0

Я работаю над анализом данных, поскольку я хочу ориентироваться и показывать время, я использую codekulptor (python), и я использовал этот код для навигации:TypeError: 'str' не поддерживает назначение элементов в python

def keydown(key): 
    global season, year, navtime 
    if key == 37: 
     navtime += 1 
     season[2] = str(int(season[2]) - 3) # error 
     if int(season[0] - 3) <= 0: 
      year = str(int(year) - 1) 
      season = '10-12' 
     else: 
      season[0] = str(int(season[0] - 3)) 
    if key == 39: 
     navtime -= 1 
     season[2] = str(int(season[2]) + 3) # error 
     if int(season[0] + 3) >= 12: 
      year = str(int(year) + 1) 
      season = '1-3' 
     else: 
      season[0] = str(int(season[0] + 3)) 

Я уже определил все переменные, и я придумал ошибку: TypeError: 'str' does not support item assignment в python. Как это исправить?

Я использую модуль simplegui для этого проекта.

ответ

3

Вы можете установить переменную season в строку:

season = '1-3' 

затем попытаться назначить конкретные показатели:

season[2] = str(int(season[2]) - 3) 

Вы получаете эту ошибку, потому что объект строки неизменен.

Если вы хотите, чтобы заменить символы в строке, вам нужно построить новый объект строки:

season = season[:-1] + str(int(season[2]) - 3) 

заменить последний символ и

season = str(int(season[0] - 3)) + season[1:] 

заменить первый.

Возможно, вместо него вы должны сделать seasonсписок из двух значений:

season = [1, 3] 

и заменить эти целые числа.

 Смежные вопросы

  • Нет связанных вопросов^_^