2016-10-23 6 views
3

Я пытаюсь создать атрибут, характерный рандомизатор для моей племенной игры плееров, и я пытаюсь записать атрибуты во внешний файл, чтобы потом использовать их. когда я пытаюсь записать в файл он приходит с ошибкойТипError: декодирование str не поддерживается

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

мой код добавления вычисленного атрибута имя атрибута. И.Е. («Сила -», 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() 

им совершенно новый для записи на внешние файлы и его не будет слишком хорошо аха. Мне и моему племяннику было бы очень приятно, если бы вы могли помочь, спасибо

ответ

3

Не уверен, что вы ожидаете str('Speed -', str(speed)).

То, что вы хотите, это строка CONCAT:

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

Вы также можете использовать строку форматирования и не беспокоиться о типе отливок:

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

привет я попытался это, но он дал мне «char1 об ошибке .write (speedE) ТипError: write() аргумент должен быть str, а не tuple ' – Lomore

+0

В этой строке есть конечная запятая. Убери это. –

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