Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kyps en 6 Enero 2010, 00:40 am



Título: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 00:40 am
Hola muy buenas toy con el curso de ricardo  navaja y hay ejercicios pero se me presento uno que no pude resolver
Ejercicio 2)
sea la variable a='56743' y b='67893'

Crear un script que testee si el primer caracter es un 5 y si es asi
imprima CORRECTO si no es cinco imprima INCORRECTO.

probar el script con a y b, y debe decir  CORRECTO e INCORRECTO cuando
corresponda.


no quiero que me lo resuelvan solo quiero pistas
ami se me ocurrio el principio
Código
  1. a='56743'
  2. b='67893'
  3.  
  4. print (a[:1])
  5.  

xD Hay me kede


Título: Re: Ayuda ejercicio python xD
Publicado por: Novlucker en 6 Enero 2010, 00:57 am
Pero entonces ya lo tienes hecho :P

En pseudocódigo

Si primera letra de a es 5
Imprimir correcto
Sino
Imprimir incorrecto

Si primera letra de b es 5
Imprimir correcto
Sino
Imprimir incorrecto

Practicamente lo tienes hecho, solo debes de poner un par de IF
Se podría poner una función que tome como parámetro la variable, pero supongo que aún no se ha llegado a eso :P


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 01:12 am
Gracias :D e codeado esto
Código
  1. a='56743'
  2. b='67893'
  3.  
  4. print (a[:1])
  5. if '5' in (a):
  6.    print ('Correcto')
  7.    else:
  8.        print ('Incorrecto')
  9. input()
  10.  

Pero me tira error :S


Título: Re: Ayuda ejercicio python xD
Publicado por: Novlucker en 6 Enero 2010, 01:15 am
Ese no es el code :silbar:
No va a funcionar, pero te tira error porque ...

Código
  1. a='56743'
  2. b='67893'
  3.  
  4. print (a[:1])
  5. #de que te sirve imprimir el primer caracter
  6. if '5' in (a):
  7. #si el 5 esta en la a, seguro quieres eso
  8. print ('Correcto')
  9. else:
  10. #el else debe de estar al mismo nivel que el if
  11. print ('Incorrecto')
  12. input()

Saludos

P.D: firefox sigue desplazando las tabulaciones :¬¬


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 01:25 am
buah en el curso sale esto
(http://img682.imageshack.us/img682/6296/60374674.jpg)

pero ami me tira error en else


Título: Re: Ayuda ejercicio python xD
Publicado por: leogtz en 6 Enero 2010, 01:32 am
¿Y así?
Código
  1. #!/usr/bin/env python
  2. a = '56743'
  3. if a[:1] == '5':
  4.    print  "Correcto"
  5. else:
  6.    print "Incorrecto"


Título: Re: Ayuda ejercicio python xD
Publicado por: Novlucker en 6 Enero 2010, 01:33 am
Tu ELSE esta desplazado, no sale en la misma linea que el IF :silbar:

Debes de prestar más atención e intentar entender los ejemplos, el IN busca en cualquier sitio, y tu lo necesitas al principio

Saludos
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Ahí la solución



Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 01:34 am
Código
  1. #!/usr/bin/env python
  2. a = '56743'
  3. if a[:1] == '5':
  4.    print  "Correcto"
  5. else:
  6.    print "Incorrecto"

me tira error ¬¬ sera por la version 3.1?


Título: Re: Ayuda ejercicio python xD
Publicado por: Novlucker en 6 Enero 2010, 01:37 am
Si!!!  :-(

En que quedamos con el tema de los errores de la nueva versión? Que lo ibas a mirar! Donde da error? línea 4 y 6? :silbar:

Los PRINT!


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 01:39 am
jajajajaj siii joder maestro tio maestrooo coño xD dejame tu msn men para consultarte algun duda  eres la ostia
buah taba sin atencion gracias ya taba desesperado


Título: Re: Ayuda ejercicio python xD
Publicado por: Carloswaldo en 6 Enero 2010, 01:48 am
#notamental Print is now a function, not a statement. xD


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 01:50 am
si joder lo lei que en la funcion print no se puede ejecutar y ala vez guardar strings xD

 no me acorde


Título: Re: Ayuda ejercicio python xD
Publicado por: ^Tifa^ en 6 Enero 2010, 15:40 pm
Este es el Ejercicio 3. Que dice:

Igual que el ejercicio anterior, (el que hizo kyps) pero ahora debe imprimir el valor de la variable 'a' o 'b', que se esta chequeando tanto si es correcto como sino lo es.

Código
  1.  
  2. a='56743'
  3. b='67893'
  4.  
  5. for c in range(len(a)):
  6.  if (a[c] == '5' ):
  7.   print "Correcto en la posicion ", (c+1)
  8.  else:
  9.   print "Incorrecto en la posicion ", (c+1), " El numero es ", a[c]
  10.  
  11.  
  12. print "\n====================\n"
  13.  
  14.  
  15. for d in range(len(b)):
  16.  if (b[d] == '5' ):
  17.    print "Correcto en la posicion ", (d+1)
  18.  else:
  19.    print "Incorrecto en la posicion ", (d+1), " El numero es ", b[d]
  20.  
  21.  



Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 16:13 pm
Código
  1. #Mi Codigo Ejercicio 3
  2. a='56743'
  3. b='67893'
  4.  
  5. if a[1] == '5'
  6.       print ('Correcto %s' %a)
  7. else:
  8.       print ('Incorrecto %s' %b)
  9.  
  10. input()
  11.  

xD asta hay llego


Título: Re: Ayuda ejercicio python xD
Publicado por: ^Tifa^ en 6 Enero 2010, 16:27 pm
y a[1] no vendria siendo el segundo indice???? los indices empiezan por 0 no por 1  :o

Yo lo que entendi de la peticion fue que, leyera todos los valores de ambas variables y donde exista 5 diga correcto, y donde no incorrecto. Por eso recorri todos los valores de ambas variables.


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 16:29 pm
bueno 0 xD es verdad no lo probe jejej asi que esta bien mi code con a[0] ?

explica esto for c in range(len(a)):

porfa


Título: Re: Ayuda ejercicio python xD
Publicado por: Masita en 6 Enero 2010, 16:38 pm
Código
  1. for c in range(len(a)):
  2.  

lo que hace es un bucle donde va  asignandole a "c" todos los valores en el rango de la longitud de "a"

por ejemplo si "a"  es una lista con 3 elementos. c primero valdra 0 luego 1 y por ultimo 2


Título: Re: Ayuda ejercicio python xD
Publicado por: ^Tifa^ en 6 Enero 2010, 16:39 pm
Se adelanto Masita, pero si efectivamente es eso, recorrer todos los elementos de la variable para ir comparandolo al valor 5


Título: Re: Ayuda ejercicio python xD
Publicado por: Carloswaldo en 6 Enero 2010, 17:37 pm
^TiFa^ estas repitiendo el código para los 2 números, ¿no es mejor ponerlo en una función? :P


Título: Re: Ayuda ejercicio python xD
Publicado por: ^Tifa^ en 6 Enero 2010, 17:39 pm
Realmente (Aunque no se note) inicialmente eran 2 for anidados como los tipicos for en C

for (numero = 0; numero < 10; numero++) {
  for (numerito = 0; numerito < 5; numerito++ ) {

Se capta la idea  ;)  dejo de ser un for anidado cuando le inclui el 'print' del centro. Pero basicamente inicialmente era eso, un for anidado.

Pero supongo que tambien se puede hacer en 1 solo for ya que ambas variables tienen la misma longitud.

Código
  1.  
  2. a='56743'
  3. b='67593'
  4.  
  5. for c in range(len(a)):
  6.  if (a[c] == '5' ):
  7.   print "Correcto en la posicion ", (c+1)
  8.  elif (b[c] == '5' ):
  9.   print "Correcto en la posicion ", (c+1)
  10.  
  11.  

Se puede reducir considerablemente el code metiendolo en una funcion como en una clase en fi n   :P


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 17:43 pm
porque cojones este codigo

Código
  1. edad = 0
  2. while edad < 18:
  3. edad = edad + 1
  4. print ('Felicidades, tienes ' + str (edad))
  5.  

Habeces funciona y habeces me dice que hay error? :S


Título: Re: Ayuda ejercicio python xD
Publicado por: Carloswaldo en 6 Enero 2010, 17:45 pm
Pero ¿Cuál es el error que te da?


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 17:47 pm
SyntaxError: invalid syntax (<pyshell#30>, line 3)

o no ejecuta el script :S


Título: Re: Ayuda ejercicio python xD
Publicado por: ^Tifa^ en 6 Enero 2010, 17:50 pm
Raro, a mi me funciona tu codigo sin problema kyps, tengo python 2.6 y dices que aveces te va y otras veces no, lo haz cambiado de editor? o lo estas ejecutando en interpretes python de diferentes versiones???

Porque la verdad no veo de otra  :-\


Título: Re: Ayuda ejercicio python xD
Publicado por: Carloswaldo en 6 Enero 2010, 17:52 pm
En python 3.1 también corre perfecto :S


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 17:56 pm
 :rolleyes: tengo la 3.1 lo interpreto con el IDE de python 3.1


Título: Re: Ayuda ejercicio python xD
Publicado por: Carloswaldo en 6 Enero 2010, 18:07 pm
Pero el código está perfecto, ¿lo tienes en un .py o lo escribes en la linea de comandos de python?


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 6 Enero 2010, 18:10 pm
en una linea de comandos xD


Título: Re: Ayuda ejercicio python xD
Publicado por: Carloswaldo en 6 Enero 2010, 18:16 pm
Pues eso debe ser xD, si lo escribes cada vez estás sujeto a equivocarte al escribir el codigo :P Mejor tenlo en un .py


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 7 Enero 2010, 14:57 pm
Podeis explicarme la funcion int ?


Título: Re: Ayuda ejercicio python xD
Publicado por: Novlucker en 7 Enero 2010, 15:58 pm
int convierte una cadena o número en un entero
Acepta un parámetro, el cual se encarga de determinar la base del nuevo entero, generalmente base 10

Tienes la documentación oficial:
:http://docs.python.org/dev/3.0/library/functions.html#int

Saludos


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 7 Enero 2010, 18:22 pm
Citar
Para definir funciones con un número variable de argumentos colocamos un último parámetro para la función cuyo nombre debe precederse de un signo *:
def varios(param1, param2, *otros):
for val in otros:
print val
varios(1, 2)
varios(1, 2, 3)
varios(1, 2, 3, 4)
Esta sintaxis funciona creando una tupla (de nombre otros en el ejemplo) en la que se almacenan los valores de todos los parámetros extra pasados como argumento. Para la primera llamada, varios(1, 2), la tupla otros estaría vacía dado que no se han pasado más parámetros que los dos definidos por defecto, por lo tanto no se imprimiría nada. En la segunda llamada otros valdría (3, ), y en la tercera (3, 4).
También se puede preceder el nombre del último parámetro con **, en cuyo caso en lugar de una tupla se utilizaría un diccionario. Las claves de este diccionario serían los nombres de los parámetros indicados al

No lo entiendo me lo podriais explicar


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 7 Enero 2010, 22:49 pm
nadie sabe?


Título: Re: Ayuda ejercicio python xD
Publicado por: Novlucker en 7 Enero 2010, 22:56 pm
Si que saben, lo que ocurre es que no podemos responder a cada una de las dudas que tengas, debes de intentar entender, más claro que eso imposible :¬¬

Saludos


Título: Re: Ayuda ejercicio python xD
Publicado por: kyps en 7 Enero 2010, 22:59 pm
Ok Gracias  :laugh: