Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError: decoding str is not supported

Im trying to make a attribute characteristic randomiser for my nephews board game and I'm trying to write the attributes to an external file so that he can use them later. when i am trying to write to the file it comes up with the error

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

my code is adding the calculated attribute to the name of the attribute. I.E. ('Strength - ', strengthE) my code is ...

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 quite new to writing to external files and its not going too well aha. me and my nephew would really appreciate it if you could help, Thanks

like image 350
Lomore Avatar asked Oct 23 '16 23:10

Lomore


1 Answers

Not sure about what you expect str('Speed -', str(speed)) to do.

What you want is a string concat:

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

You can also use string formatting and not worry about type casts:

speedE2 = 'Speed -{}'.format(speed)
like image 135
Moses Koledoye Avatar answered Oct 13 '22 23:10

Moses Koledoye