7* task

 avatar
unknown
swift
2 years ago
3.3 kB
3
Indexable
// 4. Создайте массив с названиями всех месяцев, типа String. Затем
//создайте словарь и с помощью цикла задайте ему значения на основании
//массива: где в качестве ключей будут выступать цифры (индексы), а в
//качестве значений - элементы массива.

var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul","Aug", "Sep", "Oct", "Nov", "Dec"]
var monthsDictionary = [Int:String]()
for (index, month) in months.enumerated() {
    monthsDictionary[index+1] = month
}

//5. Поменяйте местами значения по ключам “first” и “fourth”. Выведите в консоль итоговый словарь
var dictionary = ["first": 1, "second": 2, "third": 3, "fourth": 4]
(dictionary["first"], dictionary["fourth"]) = (dictionary["fourth"], dictionary["first"])
print(dictionary)

//6. Создайте пустой словарь calendar, так же вам понадобиться массив с месяцами из четвертого задания.
var calendar = [Int:[String]]()
for year in 1970...2022 {
    calendar[year] = months
}
//print(calendar)
//7. С помощью другого цикла добавьте в calendar на каждый год по одному месяцу с вашим названием, чтобы в каждом году вышло 13 месяцев.
//for year in calendar.keys {
//    calendar[year]?.append("MyMonth")
//}
//print(calendar)
//7.1 На основании словаря, который у вас получился в седьмом задании, давайте создадим новый словарь, который будет включать в себя также и даты, a именно массив с числами от 1 до 31:
//● Создайте массив с числами от 1 до 31 с помощью цикла.
var days = [Int]()
for i in 1...31 {
    days.append(i)
}
//● Создайте новый словарь calendarPro, где в качестве ключей будут года,
//в качестве значений вложенные словари. В которых в качестве ключей названия
//месяцев, а в качестве значений массив с днями созданный выше.
//● Выведите в консоль 1 сентября 2019 года.
//PS: Для заполнения calendarPro используйте только созданный массив с числами, и словарь с месяцами, и никаких других данных
var calendarPro = [Int : [[String : [Int]]] ]()
for year in calendar.keys {
    for month in months {
        if calendarPro[year] == nil {
            calendarPro[year] = [[month: days]]
        } else {
            calendarPro[year]?.append([month: days])
        }
    }
}

for year in calendarPro {
    if year.key == 2019 {
        for month in calendarPro[2019]![8].keys {
            let day = calendarPro[2019]![8]["Sep"]![0]
            let year = year.key
            print(day,month,year)
        }
    }
}
Editor is loading...