typestar

Reporte de estadísticas de números en Mojo

Una muestra sembrada pasada por mínimo, máximo, media y dispersión.

from std.random import random_float64, seed

def smallest(values: List[Float64]) -> Float64:
    var best = values[0]
    for value in values:
        if value < best:
            best = value
    return best

def largest(values: List[Float64]) -> Float64:
    var best = values[0]
    for value in values:
        if value > best:
            best = value
    return best

def mean(values: List[Float64]) -> Float64:
    var total = 0.0
    for value in values:
        total += value
    return total / Float64(len(values))

def main():
    # A fixed seed keeps the report reproducible.
    seed(17)
    var readings = List[Float64]()
    for _ in range(12):
        readings.append(random_float64(0.0, 100.0))

    var low = smallest(readings)
    var high = largest(readings)
    print("readings:", len(readings))
    print("min:     ", low)
    print("max:     ", high)
    print("mean:    ", mean(readings))
    print("spread:  ", high - low)

Cómo funciona

  1. seed(17) fija el generador para que el reporte se repita exacto.
  2. Doce tiradas de random_float64 llenan un List[Float64].
  3. smallest, largest y mean pliegan cada uno la lista en un solo número.
  4. main imprime el resumen como un pequeño reporte alineado.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
36
Caracteres a escribir
812
Tokens
205
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 164 segundos.

Escribe este fragmento

Paso 1 de 1 en Bis; paso 26 de 26 en Fundamentos del lenguaje.

← Anterior