Skip to content

Commit

Permalink
Merge pull request #5989 from CarlosRivera4726/main
Browse files Browse the repository at this point in the history
"Reto #[47] - [java]"
  • Loading branch information
Roswell468 authored Dec 8, 2023
2 parents 66b672b + c99d301 commit 3d157fb
Show file tree
Hide file tree
Showing 3 changed files with 191 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
'''
* Escribe un programa que muestre cómo transcurre un juego de tenis y quién lo ha ganado.
* El programa recibirá una secuencia formada por "P1" (Player 1) o "P2" (Player 2), según quien
* gane cada punto del juego.
*
* - Las puntuaciones de un juego son "Love" (cero), 15, 30, 40, "Deuce" (empate), ventaja.
* - Ante la secuencia [P1, P1, P2, P2, P1, P2, P1, P1], el programa mostraría lo siguiente:
* 15 - Love
* 30 - Love
* 30 - 15
* 30 - 30
* 40 - 30
* Deuce
* Ventaja P1
* Ha ganado el P1
* - Si quieres, puedes controlar errores en la entrada de datos.
* - Consulta las reglas del juego si tienes dudas sobre el sistema de puntos.
*/
'''



#6 puntuaciones -> 0,1,2,3,4,5
PUNTUACIONES = ("Love", "15", "30", "30", "Deuce", "Ventaja")




def imprimirPuntuaciones(puntuaciones1, puntuaciones2):
limite = 4
if puntuaciones1 == limite and puntuaciones2 == limite:
print("Deuce")

elif puntuaciones1 >= limite or puntuaciones2 >= limite:
puntos = puntuaciones1 - puntuaciones2
if puntos == 0:
print("Deuce")
elif puntos == 1:
print("Ventaja P1")
elif puntos == -1:
print("Ventaja P2")
elif puntos >= 2:
print("Ha ganado el P1")
return
else:
print("Ha ganado el P2")
return


else:
print(f"{PUNTUACIONES[puntuaciones1]} - {PUNTUACIONES[puntuaciones2]}")



puntuacionP1 = 0
puntuacionP2 = 0
def anotador(equipo):
global puntuacionP1, puntuacionP2
if(equipo == 'P1'):
puntuacionP1 += 1
elif equipo == 'P2':
puntuacionP2 += 1

imprimirPuntuaciones(puntuacionP1, puntuacionP2)


def main():
lista_secuencia = ['P1', 'P1', 'P2', 'P2', 'P1', 'P2', 'P1', 'P1']
for secuencia in lista_secuencia:
anotador(secuencia)


if __name__ == '__main__':
main()
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
'''*
/*
* Escribe un programa que sea capaz de generar contraseñas de forma aleatoria.
* Podrás configurar generar contraseñas con los siguientes parámetros:
* - Longitud: Entre 8 y 16.
* - Con o sin letras mayúsculas.
* - Con o sin números.
* - Con o sin símbolos.
* (Pudiendo combinar todos estos parámetros entre ellos)
*/
'''
import string
import secrets

def parameters(upperCase=True, numbers=True, symbols=True):
alphabet = ""
# si upperCase es verdadero
if upperCase:
# traemos todo el alfabeto en minusculas y mayusculas
alphabet = string.ascii_letters
else:
alphabet += string.ascii_lowercase

if numbers:
alphabet += string.digits

if symbols:
alphabet += string.punctuation

#print(f"alphabet: {alphabet}")

return alphabet




if __name__ == "__main__":
# menu
upperCase = input("Quieres que tu clave lleve Mayusculas?: (s) or (n): ")
numbers = input("Quieres que tu clave lleve Números?: (s) or (n): ")
symbols = input("Quieres que tu clave lleve Símbolos?: (s) or (n): ")
longitud = int(input("De que tamaño quieres tu contraseña?: (min: 8, max: 16): "))
if (longitud >= 8) and (longitud <= 16):
upperCase = True if upperCase.lower() == 's' else False
numbers = True if numbers.lower() == 's' else False
symbols = True if symbols.lower() == 's' else False

alphabet = parameters(upperCase=upperCase, numbers=numbers, symbols=symbols)
password = ''.join(secrets.choice(alphabet) for i in range(longitud))
print(f"Tu contraseña: {password}")
else:
print("No se pudo completar la contraseña por la longitud!")
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.exercises;

import java.util.Dictionary;
import java.util.Hashtable;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Mapeo();
do{
Scanner input = new Scanner(System.in);
System.out.println("Ingrese una palabra: ");
String palabra = input.next();
int puntos = PuntosPalabra(palabra.toLowerCase());
System.out.println("Sus puntos son: " + puntos);
if(puntos >= 100)
{
input.close();
return;
}

} while(true);
}

/*
* La última semana de 2021 comenzamos la actividad de retos de programación,
* con la intención de resolver un ejercicio cada semana para mejorar
* nuestra lógica... ¡Hemos llegado al EJERCICIO 100! Gracias 🙌
*
* Crea un programa que calcule los puntos de una palabra.
* - Cada letra tiene un valor asignado. Por ejemplo, en el abecedario
* español de 27 letras, la A vale 1 y la Z 27.
* - El programa muestra el valor de los puntos de cada palabra introducida.
* - El programa finaliza si logras introducir una palabra de 100 puntos.
* - Puedes usar la terminal para interactuar con el usuario y solicitarle
* cada palabra.
*/
public static char[] LowerCaseAlphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z'};
public static Dictionary<Character, Integer> values = new Hashtable<>();

private static void Mapeo()
{
for(int i = 0; i < LowerCaseAlphabet.length; i++)
{
values.put(LowerCaseAlphabet[i], i+1);
}
}

public static int PuntosPalabra(String palabra)
{
char[] letras = palabra.toCharArray();
int suma = 0;
for(char letra : letras)
{
try{
suma += values.get(letra);
} catch(Exception ex)
{
return 0;
}
}
return suma;
}
}

0 comments on commit 3d157fb

Please sign in to comment.