Resumen - Cuadrícula de calendario
Parte de la sección Lógica y Flujo del Journey de Swift de Coddy — lección 11 de 56.
Desafío
IntermedioLee tres números enteros de tres líneas: days (el total de días en un mes, de 28 a 31), start_dow (0 = lunes … 6 = domingo, el día de la semana en que cae el día 1) y cols (el número de columnas a imprimir).
Imprime una cuadrícula de calendario:
- Rellena la primera fila con entradas
--hasta que el día de la semana se alinee (un--por cada espacio inicial) - Imprime cada día desde
1hastadays, con un ancho de dos caracteres (usa un espacio inicial para los días de un solo dígito, por ejemplo,1,10) - Usa un solo espacio entre las celdas de una fila
- Salta a una nueva línea después de cada
colsentradas (incluyendo el relleno)
Para la entrada 30 / 2 / 7, el resultado es:
-- -- 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30Pruébalo tú mismo
let days = Int(readLine()!)!
let startDow = Int(readLine()!)!
let cols = Int(readLine()!)!
// TODO: construir un array plano de celdas ("--" + cadenas de días),
// luego imprimir filas de `cols` celdas unidas por un solo espacio
Todas las lecciones de Lógica y Flujo
1Strings a fondo
Conteo e índicesMayúsculas, minúsculas y TrimBúsqueda en StringsDividir y unirReemplazo de subcadenasResumen: Validación de usuario4Conjuntos
Crear conjuntosUnión e intersecciónResta y diferencia simétricaSubconjunto y superconjuntoResumen - Filtro de etiquetas7Proyecto - Seguimiento de hábitos
Descripción general del proyectoMarcar como completado10Proyecto - Motor de cuestionarios
Descripción general del proyectoHacer preguntas2Rangos e Intervalos
Cerrados vs. SemiabiertosSaltos (Stride)Métodos de RangosRangos en SwitchResumen - Cuadrícula de calendario5Funciones de orden superior Pt. 1
MapFilterReduceEncadenar map, filter, reduceResumen - Estadísticas de palabras