TypeError: unsupported operand type(s) for +: 'float' et 'str'
Pourquoi mon code ne fonctionne pas et ce n'cette erreur signifie?
import random
initial_val = str(10)
attr_c1_stre = ("Character 1's Strength: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
attr_c1_skill = ("Character 1's Skill: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
attr_c2_stre = ("Character 2's Strength: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
attr_c2_skill = ("Character 2's Skill: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
print("attr_c1_stre", "\nattr_c1_skil", "\n\nattr_c2_stre","\nattr_c2_skill")
file = open("Attribute.txt", "w")
file.write(attributes)
file.close()
input("\n\nPress enter to exit")
C'est ce que l'INACTIVITÉ dit:
Traceback (most recent call last):
File "H:\Python task - dice\Task 2\python codefor task 2].py", line 3, in <module>
attr_c1_stre = ("Character 1's Strength: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
TypeError: unsupported operand type(s) for +: 'float' and 'str'
Merci beaucoup
- Il signifie ce qu'il dit;
random.randint(1,12)/random.randint(1,4)
est un nombre à virgule flottante, etinitial_val
est une chaîne de caractères. Vous ne pouvez pas ajouter un nombre et une chaîne. - Si
a=3.5
etb="10"
, devraita+b
résultat dans13.5
ou'3.510'
? Python a aucun moyen de savoir quel argument doit être converti, il génère une erreur de laisser vous savez que vous devez être plus explicite sur le résultat prévu.
Vous devez vous connecter pour publier un commentaire.
initial_val
est une chaîne de caractères:Vous essayez d'ajouter une valeur à virgule flottante:
initial_val
ne doit pas être une chaîne de caractères; le laisser comme un entier à la place: