una consulta, en el argumento sep de print, hay manera de asignarle una variable?
La mejor forma de responder esa pregunta es que pruebes, y veas qué pasa. El parámetro sep siempre lleva una cadena de caracteres (que puede incluir caracteres no imprimibles de control, como tabulador o salto de línea). Definí una variable de tipo string, y probá de usarla como argumento de sep, a ver qué pasa.
separador = " - "
print("a", "b", "c", sep=separador)
separador = " - "
print("a", "b", "c", sep=separador)
Funciona!
Pero no logro hacerlo funcionar con este programa que trato de hacer...
list = range(1114112)#cantidad de caracteres unicode
for i in list:
lista = chr(i)
separador = "no funciona"
print(lista, sep=separador, end=" ")
#podria intercalarlo con otro print de manera que imprima primero el numero y luego el caracter? (numero de caracter, caracter)
#como hacer que print lo imprima en un archivo de texto?
Si me funciona e imprime los caracteres en la consola, pero no el separador, y ademas no se como hacer que imprima el
numero de caracter antes del caracter...
Por otra parte me gustaria poder imprimirlo en un archivo de texto ya que le lleva muchisimo tiempo a mi computadoraaa calcule que serian dias!
Pero no logro hacerlo funcionar con este programa que trato de hacer...
list = range(1114112)#cantidad de caracteres unicode
for i in list:
lista = chr(i)
separador = "no funciona"
print(lista, sep=separador, end=" ")
#podria intercalarlo con otro print de manera que imprima primero el numero y luego el caracter? (numero de caracter, caracter)
#como hacer que print lo imprima en un archivo de texto?
Si me funciona e imprime los caracteres en la consola, pero no el separador, y ademas no se como hacer que imprima el
numero de caracter antes del caracter...
Por otra parte me gustaria poder imprimirlo en un archivo de texto ya que le lleva muchisimo tiempo a mi computadoraaa calcule que serian dias!
Respondo cada cosa por separado.
Para empezar, en tu ejemplo el sep "no funciona", porque en cada iteración del for se imprime un solo valor, y por lo tanto no hay nada para separar. En ese caso tendrías que poner la cadena de separación de cada carácter como end, y no como sep.
Tu programa se podría escribir de manera más compacta y clara de la siguiente forma:
for i in range(1114112):
print(chr(i), end=" ")
De todas maneras, tenés que considerar que estás queriendo imprimir más de un millón de caracteres, que es mucho y va a llevar mucho tiempo, así que realmente no te lo recomiendo.
Para empezar, en tu ejemplo el sep "no funciona", porque en cada iteración del for se imprime un solo valor, y por lo tanto no hay nada para separar. En ese caso tendrías que poner la cadena de separación de cada carácter como end, y no como sep.
Tu programa se podría escribir de manera más compacta y clara de la siguiente forma:
for i in range(1114112):
print(chr(i), end=" ")
De todas maneras, tenés que considerar que estás queriendo imprimir más de un millón de caracteres, que es mucho y va a llevar mucho tiempo, así que realmente no te lo recomiendo.
"no sé cómo hacer que imprima el numero de carácter antes del carácter"
Eso es trivial y tendrías que saberlo, porque lo vimos:
Eso es trivial y tendrías que saberlo, porque lo vimos:
for i in range(1114112):
print(i, chr(i), end=" ")
Como ahora estás imprimiendo dos valores en cada print, el parámetro sep sí va a tener efecto.
print(i, chr(i), end=" ")
Como ahora estás imprimiendo dos valores en cada print, el parámetro sep sí va a tener efecto.
"me gustaría poder imprimirlo en un archivo de texto"
Trabajar con archivos es algo que vamos a ver más adelante.
Trabajar con archivos es algo que vamos a ver más adelante.