Autor
|
Tema: Reto/Juego Ejercicios en Python (Leído 35,543 veces)
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Buenas ... Revivamos esto, si funciona funciona, y sino lo dejamos tirado como siempre El tema consiste en que alguien publica un "reto", y el siguiente que lo conteste y una vez dado el visto bueno a su código, publica el siguiente, digamos que ya hay varios post como este así que no tiene nada de raro. Lo único que si es obligatorio es que quién publica el reto luego tiene que publicar su solución también, así evitamos caer en códigos que ni el que lo propone lo hace La idea del post va por el lado de crear un algoritmo para tal o cual cosa, como por ejemplo el imprimir todos los primos mayores que y menores que, y no por proponer por ejemplo el crear un juego de tres en raya para jugar en remoto (eso se hizo en el anterior) Por útimo, decir que no es necesario el uso de try y exception para los input de usuario, se asume que el usuario ingresa un valor válido para la operación, excepto que se pida explicitamente. A continuación el primer "ejercicio" cortito (como ejercicio y como ejemplo): "Crear un script que dado dos números a y b, indique si la factorización de a se realiza en más de b factores. (o igual)" Ej:a = 130 b = 5 Factorizacion = 2 x 5 x 13 Resultado = False ----------------- a = 130 b = 3 Factorizacion = 2 x 5 x 13 Resultado = True A ver si alguien se anota Saludos P.D: si nadie responde en tres días, desaparezco el post xD
|
|
« Última modificación: 3 Septiembre 2010, 00:03 am por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
Buenas, Una pequeña duda que me surgio Si por ejemplo tengo a=160 y b=3. Los factores serian 2-2-2-2-2-5. El programa deberia devolver False (Considerando 2**5 y 5) o True (Considerando 2-2-2-2-2-5)? Un saludo
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Buena pregunta, lo dejamos en True para hacerlo más sencillo, así no es necesario agrupar los factores Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
from math import sqrt a=int(raw_input("Introduzca el numero: ")) b=int(raw_input("Introduzca la mayor cantidad de factores: ")) factores=set() res=set() for i in range(2,int(sqrt(a))+1): if i not in res: for j in range(i,a/i+1): res.add(i*j) for i in range(2,a): if i not in res: while a%i==0: a=a/i if i not in factores: factores.add(i) if b>=len(factores): print "Verdadero" else: print "Falso"
|
|
« Última modificación: 3 Septiembre 2010, 03:31 am por Lord R.N.A. »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Dejo la solución que tenía def p(n): for i in range(2,n): if(n%i==0): return False return True n=int(input('Numero: ')) m=int(input('Cantidad de factores: ')) i,c=2,0 while i<=n: if p(i) and n%i==0: n/=i c+=1 else: i+=1 if c>=m: print(True) else: print(False)
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Un bloque de masa M, inicialmente en reposo, se jala hacia la derecha a lo largo de una superficie horizontal mediante una fuerza horizontal constante F. Este se mueve una distancia(metros) D sobre una superficie con un coeficiente de friccion N. El resultado debe de ser la velocidad final del bloque exactamente al recorrer esa distancia. Entradas:
Masa = 6.0 Fuerza = 12.0 Distancia = 3.0 Friccion = 0.15
El resultado por pantalla sera:
Velocidad Final del Bloque 1.8 m/s.
|
|
« Última modificación: 3 Septiembre 2010, 03:55 am por Lord R.N.A. »
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
asi Novlucker no me asesina: from math import sqrt M=float(raw_input("Ingrese la Masa: ")) D=float(raw_input("Ingrese la Distancia: ")) F=float(raw_input("Ingrese la Fuerza: ")) N=float(raw_input("Ingrese la Coeficiente de Friccion: ")) if F<(N*M*9.8):print "La velocidad en " + str(D) + " es 0.0m/s" else:print "La velocidad a los " +str(D) + "Mts. es " + str(round(sqrt(((2*D)/M)*(F-(N*M*9.8))),1)) + "m/s"
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
El Nuevo reto sera... Dado dos valores A y B, localizar todos los numero primos entre ese intervalo, incluyendolos. Valores de entrada Primer numero: 6 Segundo Numero: 17
Valor de salida
7 11 13 17
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
from math import sqrt def isprime(num): if num <2: return False i=2 while i <=sqrt(abs(num)): if num%i == 0: return False i+=1 return True min=int(raw_input("Min: ")) max=int(raw_input("Max: ")) for num in range(min,max+1): if isprime(num): print num
No lo probé todavía pero debería funcionar si no exageran con el rango . Se podría hacer una implementación por probabilidades pero igualmente por lo menos para mi no lo vale. Voy a tomarme la libertad de poner dos retos, uno fácil y otro no tanto, así vemos si se suma mas gente. El único reto que hay que completar para elegir el próximo reto es el fácil, pero por supuesto el de dificultad media lo pongo para quien quiera hacerlo. Reto fácil:Desarrollar una función que permita insertar en una secuencia de dígitos los caracteres guión cada 8 dígitos a partir del cuarto dígito, y un espacio cada 8 dígitos a partir del octavo dígito. Si la cantidad de dígitos no fuera múltiplo de 8 se deberá adicionar ceros por la izquierda. Ejemplo: 472348237388539055823012 queda como 4723-4823 7388-5390 5582-3012. Reto medio:Desarrollar una función que permita insertar el nombre de X usuario y devolver cual es su actividad, siempre que sea posible, analizando https://foro.elhacker.net/who.html.Saludos!
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
el otro esta muy complicado... y me gusta irme por lo simple #Funciona correctamente en Python 2.7 cadena = raw_input("Inserte la secuencia de numeros: ") if cadena.isdigit(): while len(cadena)%8!=0:cadena="0"+cadena s=list(cadena) for n in range(((len(cadena)/4)-1),0,-1): if n%2!=0:list.insert(s,n*4,"-") else:list.insert(s,n*4,".") s = str(s) s = s.translate(None,"[],' ") print s.replace("."," ")
RETO: Un Empresario ha realizado una reunion para recortar gastos en la empresa, por lo tanto ha tomado la decision de despedir los empleados con menor taza de exito, a los empleados se les tomara en cuenta 3 factores... Ganancia Generadas, Horas de Trabajo Diario y Sueldo, en base a esto el Empresario a decidido que despedira a los empleados que sean menos efectivos que otro. El Empresario medira esto de la siguiente manera: Si un empleado A Genera mas ganancia, trabaja mas tiempo diario y tiene un menor sueldo que un empleado B, el empleado B sera despedido. *Reglas: -> La cantidad de empleados sera entre 1 y 1,000 ->Las Ganancias no sobrepasaran 1,000,000. ->Las horas diarias trabajadas no sobrepasaran las 24 horas. ->El sueldo no sera menor o igual a 0 ni mayor a 1,000,000. ->Solo se permitiran numeros enteros.
=>Valores de entrada, cantidad de empleados, luego cada valor (Ganancia, Horas de Trabajo, Sueldo), separadas por 1 espacio. =>Valor de Salida, la cantidad de empleados despedidos.
Ejemplo: Cantidad de Empleados: 5 Empleado 1: 500 12 300 Empleado 2: 400 14 400 Empleado 3: 100 10 500 #Este sera Despedido. Empleado 4: 450 11 1000000 #Este sera despedido 4vs1 Empleado 5: 50 1 10000 #Este tambien sera Despedido.
Cantidad de Empleados Despedidos: 2
Edito: No me habia fijado que era multiple de 8... lo lei una vez y me fui a codearlo... ya esta solucionado.
|
|
« Última modificación: 6 Septiembre 2010, 18:03 pm por Lord R.N.A. »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python] Sockets en Python [+Ejemplos y Ejercicios]
Scripting
|
Erik#
|
4
|
15,132
|
4 Abril 2013, 16:43 pm
por SelTzeR
|
|
|
Juego ejercicios [Python]
« 1 2 ... 15 16 »
Ejercicios
|
Masita
|
150
|
110,463
|
30 Mayo 2011, 20:44 pm
por caro.bello
|
|
|
Ejercicios Python! [Nivel:Principiante]
Ejercicios
|
kyps
|
6
|
21,263
|
8 Abril 2010, 19:46 pm
por xyz0k
|
|
|
Nevos Ejercicios En C# Reto!!!!
Ejercicios
|
Luiskalos
|
2
|
11,904
|
7 Enero 2011, 11:28 am
por Novlucker
|
|
|
Ayuda ejercicios de python
Scripting
|
jasson94
|
2
|
3,860
|
30 Octubre 2012, 01:39 am
por jasson94
|
|