0

ナビゲートして時間を表示したいので、データ分析に取り組んでいます。codeskulptor(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 assignmentin python. これを修正するにはどうすればよいですか?

このプロジェクトには simplegui モジュールを使用しています。

4

1 に答える 1

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:]

最初のものを交換します。

おそらく、代わりに 2 つの値seasonリストを作成する必要があります。

season = [1, 3]

それらの整数を置き換えます。

于 2015-08-09T03:36:56.393 に答える