Experimento: Escala del pH

import pygame
import matplotlib.pyplot as plt

Inicializar Pygame

pygame.init()

Configuración de pantalla

screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption(“Simulación de pH con Col Morada”)

Colores de referencia para diferentes niveles de pH

ph_colors = {
‘ácido fuerte’: (255, 0, 0), # Rojo
‘ácido débil’: (255, 165, 0), # Naranja
‘neutro’: (0, 0, 255), # Azul
‘base débil’: (0, 255, 0), # Verde
‘base fuerte’: (75, 0, 130) # Violeta
}

Función para determinar el color basado en el pH

def get_ph_color(ph):
if ph < 3:
return ph_colors[‘ácido fuerte’]
elif 3 <= ph < 6:
return ph_colors[‘ácido débil’]
elif 6 <= ph < 8:
return ph_colors[‘neutro’]
elif 8 <= ph < 11:
return ph_colors[‘base débil’]
else:
return ph_colors[‘base fuerte’]

Bucle principal de la simulación

running = True
while running:
screen.fill((255, 255, 255))

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False

# Preguntar al usuario el nivel de pH
ph = float(input("Ingresa un valor de pH (0-14): "))

# Obtener el color correspondiente
color = get_ph_color(ph)

# Dibujar un rectángulo que represente el cambio de color
pygame.draw.rect(screen, color, (200, 150, 200, 100))

# Actualizar la pantalla
pygame.display.flip()

# Mostrar una gráfica del color en Matplotlib
plt.figure(figsize=(2, 2))
plt.imshow([[color]])
plt.axis('off')
plt.show()

Salir de Pygame

pygame.quit()

1 Like

Las pautas de este foro requieren que usemos inglés para que los moderadores puedan moderar las publicaciones. Además, veo tu código, pero no entiendo exactamente cuál es tu pregunta. ¿Podrías formatear tu código para que aparezca correctamente en el foro? Para ello, resáltalo y haz clic en el botón </>. De lo contrario, la indentación se arruina y no podemos ver lo que hace tu código. Este mensaje fue traducido automáticamente del inglés al español.

The guidelines for this forum require us to use English so that the moderators can moderate posts. Also, I see your code but I don’t understand what exactly your question is. And can you format your code so that it appears correctly on the forum? This highlighting it and clicking the </> button. Otherwise, the indentation is ruined and we can’t see what your code is doing. This message was machine translated from English to Spanish.