separar por palabras palabra numeros letras imprimir funcion convertir contar caracter python string random integer python-3.x

por - Hacer una cadena de una cadena y un entero en Python



separar palabra en letras python (6)

Esta pregunta ya tiene una respuesta aquí:

Obtengo este error cuando trato de tomar un número entero y anexar "b" a él, convirtiéndolo en una cadena:

File "program.py", line 19, in getname name = "b" + num TypeError: Can''t convert ''int'' object to str implicitly

Eso está relacionado con esta función:

num = random.randint(1,25) name = "b" + num


Python 3.6 tiene f-strings donde puedes poner directamente los nombres de las variables sin necesidad de usar el format :

>>> num=12 >>> f"b{num}" ''b12''


Python no convertirá automáticamente los tipos de la forma en que lo hacen los lenguajes como JavaScript o PHP.

Tienes que convertirlo en una cadena, o usar un método de formateo.

name="b"+str(num)

o formato de estilo printf ...

name="b%s" % (num,)

o el nuevo método de cadena .format

name="b{0}".format(num)


Sí, Python no tiene int. Implícito en las conversiones de cadenas.

Pruebe str(num) lugar


Ya se han dado las respuestas correctas, pero quiero responder y decir que siempre debes usar str (var) cada vez que pretendas usar var como cadena, independientemente de si sabes que es una cadena o no.

Más vale prevenir que curar.


name = "b{0:d}".format( num )


name = ''b'' + str(num)

o

name = ''b%s'' % num

como señala S.Lott, el operador de mezcla ''%'' está en desuso para Python 3 y posteriores. Y robé el nombre "mezclar" de INTERCAL pero así es como hablo y quería verlo impreso al menos una vez antes, como el dodo, se desvanece de la faz de la tierra.