Python - AYUDA CON PROBLEMA EN PYTHON

 
Vista:
sin imagen de perfil

AYUDA CON PROBLEMA EN PYTHON

Publicado por zapat (1 intervención) el 20/03/2017 03:52:36
Buenas. Necesito que alguien me de el código correcto que retorne la salida que pide el ejercicio en python que está en el pdf del archivo rar adjunto en este mensaje. Muchas gracias de antemano. el código actual que he hecho es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
N=int(raw_input("Introduzca el numero de filas: "))
M=int(raw_input("Introduzca el numero de columnas: "))
if N >= 1 and M <= 100:
	matriz = []
	for i in range(N):
		matriz.append([0]*M)
	for f in range(N):
		for c in range(M):
			matriz[f][c] = str(raw_input("Ingrese una letra mayuscula en fila: %d, columna: %d: " % (f,c)))
			while matriz[f][c] != "A" and  matriz[f][c] != "B" and matriz[f][c] != "C" and matriz[f][c] != "D" and matriz[f][c] != "F" and matriz[f][c] != "G" and matriz[f][c] != "E" and matriz[f][c] != "H" and matriz[f][c] != "I" and matriz[f][c] != "J" and matriz[f][c] != "K" and matriz[f][c] != "L" and matriz[f][c] != "M" and matriz[f][c] != "N" and matriz[f][c] != "O" and matriz[f][c] != "P" and matriz[f][c] != "Q" and matriz[f][c] != "R" and matriz[f][c] != "S" and matriz[f][c] != "T" and matriz[f][c] != "U" and matriz[f][c] != "W" and matriz[f][c] != "X" and matriz[f][c] != "Y" and matriz[f][c] != "Z" and matriz[f][c] != "V":
				print "DEBEN SER SOLO LETRAS MAYUSCULAS Y DE EN UNA EN UNA"
				matriz[f][c] = str(raw_input("Ingrese una letra mayuscula en fila: %d, columna: %d: " % (f,c)))
	for k in matriz:
		for j in k:
			print (j),
		print
	K = int(raw_input("Ingrese cantidad de palabras a buscar: "))
	a=[]
	def ContarLetras (cont):
		cont = 0
		for i in a[v]:
			cont = cont + 1
		return cont
 
	if K >= 1 and K <= 1000:
		for v in range(K):
			palabra = a.append(str(raw_input("Introduzca palabra en mayuscula y de maximo 100 letras: ")))
			aux = a[v].isupper()
			aux2= ContarLetras(a[v])
			if aux==True:
				if aux2>=1 and aux2<=100:
					print "Tus palabras a buscar son:"
					for j in a:
						print j
				else:
					print "LA PALABRA DEBE TENER MAXIMO 100 LETRAS y MINIMO UNA"
					break
			else:
				print "LA PALABRA DEBE ESTAR COMPLETAMENTE EN MAYUSCULAS"
				break
		def verificando(op,i,j,matriz,a):
			if ContarLetras(a)==1:
				respuesta=True
				return respuesta
			else:
				if (op==1):
					i=i
					j=j+1
				elif (op==2):
					i=i
					j=j-1
				elif (op==3):
					i=i-1
					j=j
				elif (op==4):
					i=i+1
					j=j
				elif (op==5):
					i=i-1
					j=j-1
				elif (op==6):
					i=i+1
					j=j-1
				elif (op==7):
					i=i-1
					j=j+1
				elif (op==8):
					i=i+1
					j=j+1
				else:
					print "ERROR [+]"
 
				try:
					if matriz[i][j]==a[0]:
						nueva=a[1:]
						t=verificando(op,i,j,matriz,nueva)
						if t==True:
							return t
					else:
						respuesta=False
						return respuesta
				except:
					respuesta=False
					return respuesta
		def Ocho_posibilidades(matriz,i,j,a):
			posibles={1:"hacia la derecha", 2:"hacia la izquierda", 3:"hacia arriba", 4:"hacia abajo", 5:"en forma Diagonal Superior Izquierda", 6:"en forma Diagonal Inferior Izquierda", 7:"en forma Diagonal Superior Derecha", 8:"en forma Diagonal Inferior Derecha"}
			nueva=a[1:]
			for x in range(1,9):
				veri=verificando(x,i,j,matriz,nueva)
				if (veri==True):
					return veri
		def Posicion_inicial(buscando,matriz,N,M,):
			contador = 0
			for i in range(0,N):
				for j in range(0,M):
					if (buscando[0] == matriz[i][j]):
						terminado=Ocho_posibilidades(matriz,i,j,buscando)
						if (terminado==True):
							contador = contador + 1
							return contador
		for x in a:
			Posicion_inicial(x,matriz,N,M)
	else:
		print "La cantidad de palabras debe ser minimo 1 y maximo 1000"
else:
	print "Numero de filas y/o columnas invalido"
	print "N debe ser mayor o igual a 1 y M menor o igual a 100"

Lo que necesito como salida es imprimir una línea que contenga el número entero que representa el número de veces que aparece la palabra que más se repite en la sopa de letras (matriz).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder