13

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

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

私のコードは、計算された属性を属性の名前に追加しています。IE ('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()

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

4

1 に答える 1

12

あなたが何を期待str('Speed -', str(speed))しているのか分かりません。

あなたが望むのは文字列連結です:

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

文字列の書式設定を使用することもでき、型キャストについて心配する必要はありません。

speedE2 = 'Speed -{}'.format(speed)
于 2016-10-23T23:27:04.283 に答える