Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как вывести средний бал ученика в журнале (словарь) через цикл for-in? - Swift

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Swift Как удалить элемент из TableView http://www.cyberforum.ru/swift/thread1760628.html
Здравствуйте! В обычной ситуации для отображения кнопки удаления слайдом в TableView достаточно сделать следующее: class MyTableViewController: UITableViewController { ... override func...
Swift Имитация акселерометра в xcode Возможно ли в xcode имитировать акселерометр. Если да ,то как? http://www.cyberforum.ru/swift/thread1758252.html
Swift Ошибка в коде ,не могу разобраться Swift 2
let motionManeger = CMMotionManager() motionManager.accelerometerUpdateInterval = 0.2 // 2 ...
Swift Swift и MySQL
Здравствуйте, пишу приложение для удаленной загрузки данных на веб-сервер. Возникла непонятная проблема. Данные приходят с сервера, но свифт не понимает интовое значение id. let maindata...
Swift Как сделать подобное приложение? http://www.cyberforum.ru/swift/thread1750541.html
Начинаю изучать свифт и вопрос как сделать подобное приложение? Чтобы при нажатии упражнения выскакивала более подробная информация . Через collection view?
Swift Составить словарь, используя операторы управления потоками 1. Создайте словарь, который будет содержать информацию о ваших студентах и их успехах. Ключом словаря должна быть фамилия, а значением — другой словарь, содержащий дату занятия и полученную на этом... подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
23.06.2016, 13:15
Или так, чисто и функционально
for-in чаще всего не нужен, как и объявление значений при помощи var

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
let register = [
    "Petrov": ["Physics": 5, "Geometry": 3, "Algebra": 4],
    "Ivanov": ["Physics": 3, "Geometry": 5, "Algebra": 5]
]
 
let results = register.map { student -> String in
    let classes = student.1                                 // получили уроки
    let total = classes
        .map { $0.1 }                                       // получили оценки
        .reduce(0, combine: +)                              // просуммировали оценки
    let average = Double(total) / Double(classes.count)     // высчитали средний балл
    return "\(student.0) получает средний балл \(average)"  // вернули результат
}
 
results.forEach { print($0) }                               // вывели каждый результат в консоль
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru