Saltar navegación

Autoavaliación: Programa un concurso con librerías

Enunciado: Crea un programa que use as librerías  random e time para simular un concurso onde resólvese unha operación matemática aleatoria e  cronométrase o tempo de resposta.

Paso 1: Importar as librerías

Duración:
5 min
Agrupamento:
Individual

Enunciado: Importa as librerías necesarias (random e time) para usar as súas funcionalidades.

Paso 2: Xerar unha operación matemática aleatoria con 2 números tamén aleatorios

Duración:
15 min
Agrupamento:
Individual

Enunciado: Usa a librería random para xerar dous números aleatorios entre 1 e 10 e unha operación matemática aleatoria entre suma, resta ou multiplicación.

Paso 3: Medir o tempo de resposta

Duración:
15 min
Agrupamento:
Individual

Enunciado: Usa a librería time para medir o tempo que tarda a usuaria en responder á pregunta.

Paso 4: Calcular o resultado correcto

Duración:
20 min
Agrupamento:
Individual

Enunciado: Usa unha estrutura de condicións para calcular o resultado correcto da operación matemática segundo a operación escollida. Gárdao na variable correcto .

Paso 5: Verificar a resposta da usuaria

Duración:
10 min
Agrupamento:
Individual

Enunciado: Compara a resposta introducida pola usuaria co resultado correcto e mostra se é correcto ou incorrecto. Se é incorrecto, debe indicarlle a resposta correcta.

Paso 6: Combinar todo nun programa final

Duración:
15 min
Agrupamento:
2

Basándovos nos vosos programas previos, creade un programa que xestione o concurso:

  • Dádelle a benvida ó concurso
  • Indicádelle a operación a realizar
  • Medide o tempo de resposta.
  • Indicádelle se acerou ou non 
  • Ademais, indicádelle canto tardou en responder

Ampliación: E se facemos un ranking do concurso?

Duración:
20 min
Agrupamento:
2

Mellora o programa do concurso:

  • O programa execútase en bucle, e de cada execución, pregunta se queres volver xogar ou sair
  • O programa debe rexistrar o nome das persoas que acerten e o tempo que tardaron en responder nunha lista de 5 dicionarios mellores = []
    • Cando acerten, debe preguntarlles o nome e rexistralo  nun dicionario coas claves nome e tempo: participante = {"nome": nome, "tempo": tempo}
    • Despós engadir ese dicionario desa participante á lista con  mellores.append(participante)
    • Agora o programa debe ordenar a lista coa clave do tempo: 
      • # Definir unha función que obteña o valor da clave "tempo"
        def obter_tempo(participante):
                return participante["tempo"]
      •  # Usar sorted() coa función definida como criterio de ordenación
        mellores = sorted(mellores, key=obter_tempo)
    • Se hai máis de 5 participantes na lista de mellores, elimina o último    if len(mellores) > 5: mellores.pop()
  • Ao darlle a sair e rematar, mostrará os nomes e os tempos dos 5 participantes máis rápidos con for participante in mellores:
    print(f"{participante['nome']} - Tempo: {participante['tempo']:.2f} segundos.") que indica só 2 decimais nos segundos de saída con .2f