Hola a todos!!! soy nueva en este foro, y en la programación en general. Esto manejando el lenguaje Python, pero hay poca gente que colabora en sus foros. Tengo un problemilla y me consta que en C se maneja muy parecido si no es exactamente igual. Mi problema es que quiero hacer una cadena que ocupe un número determinado de bytes, para lo que la almaceno mediante char, el problema es que a la hora de representar por ejemplo el int 5420, lógicamente no puedo hacerlo con un solo caracter. Pero no sé cómo hacerlo!!! esto es lo que tengo puesto:
challenge_value='%c%c%c%c%c%c' % (whrandom.randint(0, 255),whrandom.randint(0, 255),whrandom.randint(0, 255),whrandom.randint(0, 255),whrandom.randint(0, 255),whrandom.randint(0, 255))
name ='servidor'
length=11+len_name
lengthb = length >> 16
challenge='%c%c%c%c%c%' %(1,id,length,lengthb,len(challenge_value))+challenge_value+name
lo que quiero es: primero crear un número aleatorio que puede tener hasta 6 cifras como entero, así que pongo seis char y asigno a cada uno un número aleatorio. Hasta aquí perfecto. El nombre es fijo, siempre 'servidor' con lo cual, al ser ya una cadena, no me da problemas. Pero la madre del cordero llega con la longitud. En este caso es fija porque name es un valor fijo, como acabo de decir, pero en mi programa 'name' puede variar, con lo cual la longitud puede variar, y tiene que ocupar 2 bytes como máximo.
Este código no funciona, me dice al ejecutarlo, que a %c solo puedo asignarle int y char, y eso ya lo sé, pero no encuentro el fallo!!!
Os agradecería mucho si pudiérais ayudarme, estoy atascada y no puedo continuar.
Gracias otra vez!!!