web-dev-qa-db-fra.com

TypeError: le décodage de str n'est pas pris en charge

Im essayant de faire un randomiseur caractéristique d'attribut pour mon jeu de société neveux et j'essaie d'écrire les attributs dans un fichier externe afin qu'il puisse les utiliser plus tard. quand j'essaie d'écrire dans le fichier, il arrive avec l'erreur

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

mon code ajoute l'attribut calculé au nom de l'attribut. C'EST À DIRE. ('Force -', forceE) mon code est ...

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()

im assez nouveau pour écrire dans des fichiers externes et ça ne va pas trop bien aha. moi et mon neveu apprécierions vraiment si vous pouviez aider, merci

8
Lomore

Vous ne savez pas exactement ce que vous attendez de str('Speed -', str(speed)).

Ce que vous voulez, c'est une concaténation de chaîne:

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

Vous pouvez également utiliser le formatage des chaînes et ne pas vous soucier des conversions de type:

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