В 8 уроке рассмотрены словари - Dictionary.
Домашнее задание к 8 уроку:
Домашнее задание к 8 уроку:
/*
1. Создайте дикшинари как журнал студентов, где имя и фамилия студента это ключ, а оценка за контрольную значение. Некоторым студентам повысьте оценки - они пересдали. Потом добавьте парочку студентов, так как их только что перевели к вам в группу. А потом несколько удалите, так как они от вас ушли :(
После всех этих перетрубаций посчитайте общий бал группы и средний бал
2. Создать дикшинари дни в месяцах, где месяц это ключ, а количество дней - значение.
В цикле выведите ключ-значение попарно, причем один раз выведите через тюплы, а другой раз пройдитесь по массиву ключей и для каждого из них доставайте значения.
3. Создать дикшинари , в которой ключ это адрес шахматной клетки (пример: a5, b3, g8), а значение это Bool. Если у клетки белый цвет, то значение true, а если черный - false. Выведите дикшинари в печать и убедитесь что все правильно.
Рекомендация: постарайтесь все сделать используя вложенный цикл (объяснение в уроке).
*/
/*
1
*/
var listStudentDictionary = ["Alex Timakov": 5, "Vasya Ivanov": 4, "Dima Pupkin": 2]
listStudentDictionary["Dima Pupkin"] = 4
listStudentDictionary["Vasya Ivanov"] = 5
listStudentDictionary["Natasha Sidorova"] = 2
listStudentDictionary["Masha Ivanova"] = 4
listStudentDictionary["Dima Pupkin"] = nil
listStudentDictionary["Vasya Ivanov"] = nil
var sumRating = 0
for value in listStudentDictionary.values {
sumRating += value
}
let averageRating = listStudentDictionary.count != 0 ? Double(sumRating) / Double(listStudentDictionary.count) : 0.0
print("1.\n")
print("Sum Rating: \(sumRating). Average Rating: \(averageRating)")
/*
2
*/
var monthsDictionary = [String: Int]()
let quantityDaysInMonthsArray = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
let monthsNamesArray = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November","December"]
for (index, quantity) in quantityDaysInMonthsArray.enumerated() {
monthsDictionary[monthsNamesArray[index]] = quantity
}
print("\n2.1.\n")
for (month, days) in monthsDictionary {
print("\(month) - \(days)")
}
print("\n2.2.\n")
for month in monthsDictionary.keys {
print("\(month): \(monthsDictionary[month]!)")
}
/*
3
*/
print("\n3.\n")
var flag = false;
let charString = "abcdefgh"
var chessDictionary = [String: Bool]()
for charIndex in charString.indices {
for number in 1...8 {
let key = String(charString[charIndex]) + String(number)
chessDictionary[key] = flag;
flag = !flag
}
}
print("Chess Dictionary: \(chessDictionary)\n Count: \(chessDictionary.count)")
Вывод в консоль:
1.
Sum Rating: 11. Average Rating: 3.66666666666667
2.1.
July - 31
April - 30
May - 31
November - 30
February - 28
December - 31
January - 31
August - 31
June - 30
September - 30
March - 31
October - 31
2.2.
July: 31
April: 30
May: 31
November: 30
February: 28
December: 31
January: 31
August: 31
June: 30
September: 30
March: 31
October: 31
3.
Chess Dictionary: ["e2": true, "a2": true, "c8": true, "d1": false, "e3": false, "g2": true, "b6": true, "b1": false, "f5": false, "h2": true, "f6": true, "f3": false, "g6": true, "e1": false, "c7": false, "a3": false, "e6": true, "f2": true, "h7": false, "d5": false, "c4": true, "g5": false, "g3": false, "a5": false, "h8": true, "c2": true, "c3": false, "a1": false, "g4": true, "f4": true, "e8": true, "a6": true, "g1": false, "c1": false, "h5": false, "h3": false, "e7": false, "f8": true, "d6": true, "d8": true, "d4": true, "b4": true, "e5": false, "a4": true, "g8": true, "d3": false, "h1": false, "c6": true, "d7": false, "a8": true, "d2": true, "h6": true, "a7": false, "b5": false, "b3": false, "f1": false, "b2": true, "g7": false, "b7": false, "e4": true, "f7": false, "h4": true, "b8": true, "c5": false]
Count: 64