/t/ Tecnología

Volver Abajo

Estás respondiendo un hilo
Nombre
Opciones
Mensaje
Archivo

Imagen: babababaka.PNG 19.14 KB 1029x585

probando!!yp17LaSvRE #3183

Preguntas de python
Hola lolnadies, tengo un problema con este código:

# encoding: utf-8

class espacio:

def init(self,columnas,filas):
self.columnas = columnas
self.filas = filas
self.cfila = cfila
self.ccolumna = ccolumna
self.a = a

def crear(columnas,filas,ncolumnas,nfilas,):
for n in range(filas):
nfilas += [ncolumnas]

def imprimir(nfilas,filas,columnas):
c = 0
for n in range(filas):
print (nfilas[c])
c += 1

def cambiar(a,cfila,ccolumna,nfilas):
nfilas[cfila][ccolumna] = a

columnas = int(input("Introduzca el numero de columnas: "))
filas = int(input("Introduzca el numero de filas: "))
nfilas = []
ncolumnas = list(range(columnas))
crear(columnas,filas,ncolumnas,nfilas)
imprimir(nfilas,filas,columnas)
cfila = int(input("Introduzca la fila que desea cambiar: "))
if cfila + 1 < filas:
cfila -= 1
ccolumna = int(input("Introduzca la columna que desea cambiar: "))
if ccolumna + 1 < columnas:
ccolumna -= 1
a = raw_input("Introduzca por que lo deseas cambiar: ")
cambiar(a,cfila,ccolumna,nfilas)
imprimir(nfilas,filas,columnas)


Cuando cambio el dato me aparecen en todas las filas, y no sé si es por el espacio, por la impresión de este o por la función para cambiarlo. Gracias de antemano y:

EHH: Dudas sobre lenguajes de programación.

tripcodesucks!!V..3jXX9.A #3184

Mierda, el code me borra los espacios, os lo escribo aquí pero con {}

# encoding: utf-8

class espacio:{

def init(self,columnas,filas):{
self.columnas = columnas
self.filas = filas
self.cfila = cfila
self.ccolumna = ccolumna
self.a = a
}

def crear(columnas,filas,ncolumnas,nfilas,):{
for n in range(filas):
nfilas += [ncolumnas]
}

def imprimir(nfilas,filas,columnas):{
c = 0
for n in range(filas):
print (nfilas[c])
c += 1
}

def cambiar(a,cfila,ccolumna,nfilas):{
nfilas[cfila][ccolumna] = a
}

columnas = int(input("Introduzca el numero de columnas: "))
filas = int(input("Introduzca el numero de filas: "))
nfilas = []
ncolumnas = list(range(columnas))
crear(columnas,filas,ncolumnas,nfilas)
imprimir(nfilas,filas,columnas)
cfila = int(input("Introduzca la fila que desea cambiar: "))
if cfila + 1 < filas:{
cfila -= 1
}
ccolumna = int(input("Introduzca la columna que desea cambiar: "))
if ccolumna + 1 < columnas:{
ccolumna -= 1
}
a = raw_input("Introduzca por que lo deseas cambiar: ")
cambiar(a,cfila,ccolumna,nfilas)
imprimir(nfilas,filas,columnas)

Anónimo #3186

Ya dumpeaste el array? siento que está imprimiendo la misma linea varias veces.
En un rato intento hacerlo.

Anónimo #3188

por que usas piton?

Anónimo #3189

>>3186
Vuelve anon ;_;

Anónimo #3193

CREO (no estoy seguro) que python pasa por referencia, no por valor.
La neta no uso python pero es lo que adivino que pasa.
Prueba cambiar la llamada a cambiar() por algo asi como

nfilas[0]="lol"

y si nfilas acaba siendo un array de puros loles ya sabes cual es el pedo.
Básicamente significaría que todas las entradas de nfilas son apuntadores al mismo array (arreglo, como le llames).

Anónimo #3194

También tienes pedos de estilo muy cabrones OP, me estoy resistiendo a aventarte un chorote sobre OOP pero voy a resaltar algo
Te das cuenta que tu código está dentro de la definición de clase?
Si por ejemplo hicieras

class espacio:
… #todo lo que tienes escrito
print("class espacio definido")
e = espacio.new() # Creo que es así, si?
e2 = espacio.new()

Tu código se ejecuta DURANTE la definicion de espacio, el código te preguntaría qué dimensiones quieres para tu espacio ANTES de imprimir "class espacio definido" y terminaría con error en e = espacio.new()
Porque en el init() de espacio haces referencia a lo que python interpretaría como variables globales (cfila y ccolumna, no definidas en los argumentos de espacio)

Anónimo #3206

>>3194
Yo creo que op debe estar empezando y no tiene idea de objetos.
En la universidad así nos enseñaban a ejecutar el proceso mientras se declaraba.

Anónimo #3207

>>3206
jeje, por eso acaban siendo juanelos de telvista

Anónimo #3209

>>3207
Sha, eso le pasa a los que eligen a puro profe parásito que los pasa sin hacer nada.

Anónimo #3412

>>3183

todo en ese codigo esta mal, yo creo que necesitas leerte un par de libros antes de intentar hacer eso

Anónimo #3487

>>3412
lol ya decía yo
no conozco python pero con leerlo parecía que no funcionaba

Anónimo #3488

Lolitos, es para un experimento, porfa publiquen sus user agents aqui! de preferencia que sean de Chrome u Opera sobre Windows 10 y Mac OS corriendo Safari sobre El Capital

Anónimo #3489

>>3488
No veo por qué no…
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

Anónimo #3490


user agent
Your user agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.6.17 (KHTML, like Gecko) Version/9.1.1 Safari/601.6.17



Volver Arriba Responder Actualizar
allbaawdwintsadttoyvx34efh