a gráfica da función . É o resultado é unha parábola ben definida e clara.
Para crear esta representación, usei Matplotlib, permítenos transformar os datos nunha imaxe visual de xeito sinxelo e con moitas opcións de personalización.
- PROCESO
- Definimos a función: .
- Xeramos os puntos: Calculamos os valores de y para un rango de valores de x.
- Debuxamos: Con Matplotlib, trazamos estes puntos, creando a liña azul que vedes.
- GRAFICA
- Un eixe X (horizontal) e un eixe Y (vertical) que nos indican as coordenadas.
- Unha cuadrícula de fondo que facilita a lectura dos valores.
- A lenda que identifica claramente a función que estamos a visualizar.
Esta calculadora fixema coa axuda dunha IA que me foi ecindo como podia mellorala.
- CALCULADORA AVANZADA
Distínguense dous conxuntos de botóns por cor: os tons azuis para os díxitos e funcións de memoria (MC, MR, M+, M-, MS), e os tonos salmón para os operadores aritméticos (x2, , ÷, ×, -, +, =, etc.) e funcións avanzadas como π, log, ln, ou potencias (∧). O visor superior amosa o valor actual
Esta ferramenta incorpora, ademais das operacións fundamentais (suma, resta, multiplicación, división), un abano de funcionalidades matemáticas que inclúen:.
Fixen esta calculadora coa axuda dunha IA , claude, que me axudou a modificar e mellorar a calculadora cambiandoa de color ou añadindo máis botóns e operacions
- XOGO DE ADIVIÑAR NÚMEROS
- Modularidade e Escalabilidade: Deseñar o código de forma funcional para facilitar futuras expansións e mantemento.
- Adaptabilidade da Dificultade: Proporcionar niveis de dificultade configurables para acomodar distintas capacidades e preferencias dos usuarios.
- Retroalimentación Intelixente: Implementar un sistema de pistas que guíe ao xogador de forma estratéxica sen revelar a solución directamente.
- Análise de Rendemento: Ofrecer estatísticas detalladas por partida e globais para fomentar a mellora do xogador e avaliar a súa destreza.
- Robustez na Entrada de Datos: Xestionar adecuadamente as entradas do usuario para previr erros e asegurar a estabilidade da aplicación.
A elección de Python como linguaxe de desenvolvemento fundaméntase na súa notoria lexibilidade, a súa rica biblioteca estándar e a súa capacidade para prototipar rapidamente aplicacións. Para a implementación das funcionalidades mencionadas, fixéronse uso das seguintes bibliotecas internas de Python:
random
: Indispensable para a xeración do número secreto. A funciónrandom.randint(a, b)
foi empregada para obter un valor enteiro pseudo-aleatorio dentro dos límites establecidos por cada nivel de dificultade. Isto garante a imprevisibilidade e a re-xogabilidade do sistema.time
: Utilizada para medir o tempo transcorrido durante cada partida. A funcióntime.time()
permite rexistrar marcas de tempo que son posteriormente empregadas para calcular a duración total da rolda e, consecuentemente, influír na puntuación do xogador.
O código estrutúrase en funcións específicas, cada unha con unha responsabilidade clara, o que contribúe á modularidade e mantemento:
mostrar_titulo()
: Dedicada á presentación inicial, mellorando a interface de usuario en consola.escoller_dificultade()
: Encargada da interacción co usuario para a selección do nivel de dificultade, incorporando validación de entrada mediante bloquestry-except
para xestionarValueError
e bucles de reintentos.dar_pista(diferencia, numero_secreto, intento)
: Esta función exemplifica a lóxica condicional avanzada. Avalía a diferenza absoluta entre o intento do xogador e o número obxectivo para proporcionar retroalimentación cualitativa (e.g., "ARDENDO!", "QUENTE!", "TIBIO", "FRÍO!"), así como direccional (maior/menor).mostrar_estatisticas(intentos, max_intentos, tempo_total)
: Calcula e presenta métricas de rendemento por partida, incluíndo unha puntuación derivada dos intentos e o tempo, xunto cunha clasificación textual que reflicte o desempeño.xogo_principal()
: A función orquestradora do sistema. Contén o bucle de xogo principal, coordina as chamadas ás demais funcións, xestiona o estado da partida (intentos, historial, estatísticas globais) e administra a lóxica de fin de xogo e re-xogo. A inclusión dun historial de intentos evita que o usuario repita adiviñas.
Durante o proceso de desenvolvemento, atopáronse e solucionáronse varios desafíos técnicos:
- Xestión de Erros de Entrada: A implementación de
try-except
paraValueError
e as validacións de rango e repetición de intentos garanten que a aplicación sexa robusta fronte a entradas inesperadas do usuario. - Deseño da Lóxica de Pistas: Equilibrouse a granularidade das pistas para que fosen informativas sen comprometer o desafío do xogo. A categorización das diferenzas ("ARDENDO", "QUENTE", etc.) é un claro exemplo disto.
- Persistencia de Estatísticas (Intra-sesión): Aínda que as estatísticas globais se manteñen só durante a execución da sesión actual, a estrutura está preparada para unha futura implementación de persistencia en ficheiros ou bases de datos.
- GRAFICO DE POBOACIÓN
As Ferramentas: Python e Matplotlib
- Python: A miña elección pola súa sinxeleza e a súa capacidade para manexar datos.
- Matplotlib: A biblioteca estándar para crear todo tipo de gráficos en Python, ofrecéndonos un gran control estético.
Como a fixen (o esencial do código)
-
Datos: Primeiro, definimos os anos e os valores de poboación en listas.
Pythonimport matplotlib.pyplot as plt anos = [2018, 2019, 2020, 2021, 2022] poboacion = [5000, 5200, 5300, 5500, 5700]
-
Debuxar a Liña: Usamos
plt.plot()
para debuxar a liña, engadindo marcadores e cor verde.Pythonplt.plot(anos, poboacion, marker='o', color='green', linewidth=2)
-
Títulos e Eixes: Fundamental para que sexa comprensible.
Pythonplt.title('Evolución da Poboación (2018-2022)') plt.xlabel('Ano') plt.ylabel('Poboación')
-
Personalización: Axustamos os rangos dos eixes (
plt.xticks
,plt.ylim
), engadimos unha grade (plt.grid
) e cambiamos o fondo para mellorar a estética.Pythonplt.xticks(anos) plt.ylim(4800, 5800) plt.grid(True, linestyle='--', alpha=0.7) plt.gca().set_facecolor('#FFFACD')
-
Anotación Final: Para destacar o último valor, engadimos unha anotación.
Pythonplt.annotate('5700', xy=(2022, 5700), xytext=(2022.2, 5750), arrowprops=dict(facecolor='black', shrink=0.05))
-
Mostrar: Finalmente,
plt.show()
para ver a gráfica.Pythonplt.tight_layout() plt.show()
Ningún comentario:
Publicar un comentario