1. ホーム
  2. python

[解決済み】TypeError: strのデコードはサポートされていません。

2022-02-02 11:57:59

質問

甥のボードゲーム用に属性特性ランダマイザーを作ろうとしています。後で使えるように外部ファイルに属性を書き込もうとしています。

speedE = str('Speed -', str(speed))
TypeError: decoding str is not supported

私のコードは、属性の名前に計算された属性を追加しています。例:('Strength - ', strengthE) 私のコードは...

import random

char1 = open('Character1.txt', 'w')
strength = 10
strength += int(random.randint(1, 12) / random.randint(1,4))
speed = 10
speed += int(random.randint(1, 12) / random.randint(1,4))
speedE = str('Speed -', str(speed))
char1.write(speedE)
strengthE = str('Strength -', str(strength))
char1.write(strengthE)
print(char1)
char1.close()

char2 = open('Character2.txt', 'w')
strength2 = 10
strength2 += int(random.randint(1, 12) / random.randint(1,4))
speed2 = 10
speed += int(random.randint(1, 12) / random.randint(1,4))
speedE2 = str('Speed -', str(speed))
char2.write(speedE2)
strengthE2 = str('Strength -', str(strength))
char2.write(strengthE2)
print(char1)
char2.close()

外部ファイルへの書き込みは初めてなのですが、あまりうまくいきません嗚呼。 私と私の甥は、あなたが助けてくれるなら、本当に感謝します。

どのように解決するのですか?

何を期待しているのかわからない str('Speed -', str(speed)) を実行します。

欲しいのは文字列の連結です。

speedE2 = 'Speed -' + str(speed)
# replace other lines also

また、文字列書式を使用することで、型キャストを気にすることなく使用することができます。

speedE2 = 'Speed -{}'.format(speed)