SWIFT - 09. Оператор switch

  Рет қаралды 36,326

Alex Skutarenko

Alex Skutarenko

Күн бұрын

Пікірлер: 90
@whitedemon2752
@whitedemon2752 2 жыл бұрын
1. создать строку произвольного текста с 200 символами создать цикл со свичем, посчитать кол-во гласных согласных цифр и тд 2. создать свитч, который принимает возраст и возвращает период жизни 3. студент с ФИО если его имя начинается с А или О, то обращаться по И если его отчество начинается с В или Д, то обращаться по ИО если его фамилия начинается с Е или З, то обращаться по фамилии, иначе обращаться по ФИО 4. Поле морского боя 10х10 осталось несколько кораблей создать такой свитч, который получает тюпл поинт (x,y) вернуть мимо // ранил // убил
@artemmiklashevich730
@artemmiklashevich730 7 жыл бұрын
36 минута лекции, в Swift 3 записывается так: let array: [CustomStringConvertible] = [5, 5.4, Float(5.4)] switch array[2] { case let a as Int: print("Int") case let a as Float: print("Float") case let a as Double: print("Double") default: break }
@TheMrPifagor
@TheMrPifagor 7 жыл бұрын
Artem Miklashevich Можно еще указать тип массива как [Any]
@alexs.8992
@alexs.8992 7 жыл бұрын
Cейчас прохожу урок, работает вот так: let array = [5, 5.4, Float(5.4)] as [Any] и дальше switch ...
@almassanzharov5819
@almassanzharov5819 6 жыл бұрын
У меня не работает, Swift ругается: error: Learning_Swift.playground:493:2: error: consecutive statements on a line must be separated by ';' }
@anatoliiafarinov6591
@anatoliiafarinov6591 3 жыл бұрын
cентябрь 2021 год - код работает. Спасибо!
@b4l410
@b4l410 2 жыл бұрын
2022 работает
@shibumiya
@shibumiya Жыл бұрын
Всю неделю читала страницу по этой теме в swift book. Потом делала домашку, от 4-го задания вообще почувствовала себя гением, я очень долго думала как это сделать, а в итоге оказалось, что можно было просто вообразить себе поле морского боя, но я ни о чем не жалею, потому что получила кучу опыта. Я для начала создала само поле морского боя, я думала сделать это через массив массивов или дикшинори, но остановилась на двухмерном массиве (да пришлось зайти вперед), я заполнила этот массив 0 - это типа море, некоторые ячейки я заполнила 1 - это были клетки, на которых стоят корабли, некоторые ячейки я заполнила 2 - это подбитая часть корабля, для расшифровки значений я создала дикшионари, где ключом было интовое значение, а значением - символ. Так же я не хотела определять на глаз подбили ли мы корабль или убили, так что я создала функцию, которая определяет это (в swift book функции встречаются уже на этой странице) Ну и в итоге у меня получилось наглядное поле боя (ради фана я вывела его используя эмодзи 🌊 ⛵⚓) и switch, который определяет что мы сделали выстрелом let valueList : [Int:Character] = [0 :"\u{1F30A}", 1: "\u{26F5}", 2 : "\u{2693}"] var seaBattle = Array(repeating: Array(repeating: 0, count: 10), count: 10) //one deck seaBattle[2][2] = 1 seaBattle[4][1] = 1 seaBattle[8][2] = 1 seaBattle[8][5] = 2 //two deck seaBattle[5][4] = 1; seaBattle[6][4] = 1 seaBattle[6][7] = 1; seaBattle[6][8] = 1 seaBattle[8][7] = 2; seaBattle[9][7] = 2 //three deck seaBattle[0][2] = 1; seaBattle[0][3] = 1; seaBattle[0][4] = 1 seaBattle[6][0] = 1; seaBattle[7][0] = 1; seaBattle[8][0] = 1; //four deck seaBattle[2][5] = 1; seaBattle[2][6] = 1; seaBattle[2][7] = 2; seaBattle[2][8] = 1 for i in 0..= 0 { if seaBattle[y - 1][x] == 1 { return true } } //Check down if y + 1 < seaBattle[0].count { if seaBattle[y + 1][x] == 1 { return true } } //Check left if x - 1 >= 0 { if seaBattle[y][x - 1] == 1 { return true } } //Check right if x + 1 < seaBattle[1].count { if seaBattle[y][x + 1] == 1 { return true } } return false } var seaPoint = (2,2) switch seaPoint { case let (y,x) where seaBattle[y][x] == 1 && checkShip(y: y, x: x): seaBattle[y][x] = 2 print("You hited!") case let (y,x) where seaBattle[y][x] == 1: seaBattle[y][x] = 2 print("You killed!") default: print("You missed!") } for i in 0..
@maryarutyunyan2633
@maryarutyunyan2633 Жыл бұрын
офигеть вы заморочились
@НадеждаМира-в8п
@НадеждаМира-в8п Жыл бұрын
Класс! Спасибо за идею! Подскажи как сейчас у тебя дела с программированием? еще учишься?
@saaaaim
@saaaaim 4 ай бұрын
меньше кода - меньше багов, вы трудолюбивая , уже работаете?
@kaisar.yeldes
@kaisar.yeldes 8 жыл бұрын
Спасибо большое! Дай вам Бог счастья и здоровья!
@kama8213
@kama8213 4 жыл бұрын
Интересные домашки)) Спасибо за урок, даже спустя 5 лет
@EduardGalchenko
@EduardGalchenko 5 жыл бұрын
Swift 5.1: let array: [CustomStringConvertible] = [5, 5.5, Float(5.4)] switch array[0] { case _ as Int: print("Int") case _ as Float: print("Float") case _ as Double: print("Double") default: break }
@veisong
@veisong 8 жыл бұрын
На моменте "пристегните ремни" я аж заерзал))))
@Gustarev
@Gustarev Жыл бұрын
Октябрь 2023. "case" всё также перепрыгивает в начало строки. print("Thx Tim Cook")
@drl232
@drl232 6 жыл бұрын
хорошо обьясняете, понятно что это инструменты, что бы стать программистом нужно постоянно решать задачи постепенно усложняя по себе знаю потом станет проще. Еще раз спасибо!
@danylopolishchuk4191
@danylopolishchuk4191 7 жыл бұрын
блин годно , помню в C# у меня дело доходило в некоторых задачах до 3-4 вложенных switch'ей , но то что можно делать тут с let & where - это что-то по-настоящему новое
@bald_agent_smith
@bald_agent_smith 2 жыл бұрын
байндинг в свифте очень полезная штука. Прикинь как это может упростить код) иногда apple все же делают гениальные вещи)
@shaamee86
@shaamee86 4 жыл бұрын
Забавно, как Алексей постоянно пытается пойти против IDE и табулирует все строки внутри switch, хотя даже сам конструктор предполагает, что case должны находиться на том же уровне, что и switch =)))))
@eduardoanny
@eduardoanny 5 жыл бұрын
Апрель 2019, swift 5, на 36 минуте вот как можно сделать: let array: [Any] = [5, 5.4, Float(5.5)] switch array[2] { case _ as Int: print("Int") case _ as Double: print("Double") case _ as Float: print("Float") default: break } Вместо array[2] можете, естественно, свое подставлять.
@НурболДаниярбекуулу
@НурболДаниярбекуулу 5 жыл бұрын
спасибо
@shaamee86
@shaamee86 4 жыл бұрын
Спасибо! =)
@danylopolishchuk4191
@danylopolishchuk4191 7 жыл бұрын
"мне не 21 - помню это был нормальный age" орнул
@kanatop8017
@kanatop8017 3 жыл бұрын
в курсе по objective-c он повторял это раз 5))
@bulgakov1991
@bulgakov1991 2 жыл бұрын
Морской бой var coordinate = (nam: 2, letter: "d") switch coordinate { case (1,"J"),(2,"b"..."e"),(3...5,"i"),(4...5,"a"),(4,"f"),(6,"d"),(7...9,"f"),(8,"i"..."j"),(10,"a"..."b"),(10,"j"): print("попал") default: print("мимо") }
@РоманОлейник-ю3в
@РоманОлейник-ю3в 2 жыл бұрын
Спасибо! Чуть с ума не сошел :)
@whitedemon2752
@whitedemon2752 2 жыл бұрын
let waterWar = (A: "A", B: 2) switch waterWar{ case ("D", 2): print("kill") case (let a, 1...4) where a == "A" || a == "B" || a == "C" : print("shoot") default: print("miss") }
@artur_tskv
@artur_tskv 2 жыл бұрын
я думал нужно сделать, чтобы попал попал, а потом убил
@mtskvch
@mtskvch Жыл бұрын
@@artur_tskv я думаю для этого знаний надо гораздо больше)
@mtskvch
@mtskvch Жыл бұрын
@@whitedemon2752 почему D 2 это убил? Там стоит корабль из 1х1? А следующую строчку я вообще не понял, объясни пожалуйста
@АлексейАзаренков-д4л
@АлексейАзаренков-д4л 11 ай бұрын
39:00 let array : [CustomStringConvertible] = [5, 5.4, Float(5.4)] switch array[2] { case _ as Int: print("Int") case _ as Double: print("Double") case _ as Float: print("Float") default: break }
@Guyverok
@Guyverok Жыл бұрын
40:22 "До новых встреч с Богом" 🤣
@andry_freeman
@andry_freeman 2 жыл бұрын
// Задание 2 let age = 27 var stage: String = "" switch age { case 0: stage = "Newborn" case 1...5: stage = "Baby" case 6...18: stage = "Teenager" case 19...30: stage = "Youth" case 31...55: stage = "Adult" case 55...100: stage = "Old" default: stage = "Immortal" }// 2 print("Age:\(age).Stage:\(stage)")
@gl0ukhov
@gl0ukhov 10 ай бұрын
Задание 4 . . . var coordinate = (2, 3) switch coordinate { case (1, 9): print("Popal") case (2, 2...4): print("Popal") case (3, 6...8): print("Popal") case (5, 1...4): print("Popal") case (6, 7...8): print("Popal") case (7, 4...5): print("Popal") case (8, 7): print("Popal") case (9, 2...3): print("Popal") case (9,5): print("Popal") case (10, 7): print("Popal") default: print("Promax") }
@gl0ukhov
@gl0ukhov 10 ай бұрын
Задание 3 . . . let name = "Matvey" let surname = "Glukhov" let patronymic = "Valerievich" let student = (name, surname, patronymic) switch student { case let (a,_,_) where a.hasPrefix("A") || a.hasPrefix("O"): print(name) case let (a,b,c) where c.hasPrefix("B") || c.hasPrefix("D"): print(name, patronymic) case let (a,b,c) where b.hasPrefix("E") || b.hasPrefix ("Z"): print(surname) default: print(name, surname, patronymic) }
@tarasiarmoliuk2017
@tarasiarmoliuk2017 8 жыл бұрын
спасибо большое за уроки
@mor2623
@mor2623 2 жыл бұрын
скажите каких результатов вы достигли)
@АманжанЖаркынулы
@АманжанЖаркынулы 2 жыл бұрын
Как можно попасть в закрытую группу ВК для домашнего задания? Там доступ только по приглашениям(
@kotorl4ik
@kotorl4ik 2 жыл бұрын
Да,и у меня такой же вопрос…Случайно ,не выяснили как туда попасть?
@markwellofficial
@markwellofficial 2 жыл бұрын
+
@АманжанЖаркынулы
@АманжанЖаркынулы 2 жыл бұрын
@@kotorl4ik группу к сожалению удалили отказывается
@markwellofficial
@markwellofficial 2 жыл бұрын
@@АманжанЖаркынулы спасибо за информацию
@shadowdance7126
@shadowdance7126 Жыл бұрын
задача с символами for el in longString { let lowerCaseCaracter = el.lowercased() switch lowerCaseCaracter { case let c where vowels.contains(c) : vovelsCount += 1 case "a"..."z": consonantsCount += 1 case "0"..."9": num += 1 default: break } } upd: забыл, что там были цифры же ещё))
@shivers1656
@shivers1656 9 ай бұрын
/* Задача #3 Для studentMiddleName указан optional string для случая, если у студента нет отчества (иностранный студент, к примеру) */ var studentName = "Andrey" var studentMiddleName: String? = "Alexandrovich" var studentLastName = "Elagin" let studentArray: [String?] = [studentName, studentMiddleName, studentLastName] switch studentArray { case _ where studentName.starts(with: "A") || studentName.starts(with: "O"): print("Здравствуйте, \(studentName)") case _ where studentMiddleName!.starts(with: "V") || studentMiddleName!.starts(with: "D"): print("Здравствуйте, \(studentName) \(studentMiddleName ?? "")") case _ where studentLastName.starts(with: "E") || studentLastName.starts(with: "Z"): print("Здравствуйте, \(studentLastName)") default: print("Здравствуйте, \(studentLastName) \(studentName) \(studentMiddleName ?? "")") }
@СтаниславАрдашев-т5е
@СтаниславАрдашев-т5е 8 жыл бұрын
ахах, упал со стула с println("школота") Пожадуй чуть позже досмотрю))))
@akhmedovbakhtovar7142
@akhmedovbakhtovar7142 Жыл бұрын
досмотрел???🤣🤣🤣
@nadzeyasivukha8297
@nadzeyasivukha8297 7 жыл бұрын
Не могли бы Вы показать, как последний пример (c [Printable]) будет выглядеть в Swift 3.0?
@markfm2897
@markfm2897 7 жыл бұрын
может быть, вот так: let array = [5, 5.4, Float(5.4)] as [Any]
@basqaca
@basqaca Жыл бұрын
Домашнее задание 3 (Можете скопировать и потестировать в плейграунде): Я попробовал вот так: func studentS(name: String, surname: String, fathersName: String) { let student = (name, surname, fathersName switch student { case _ where name[0] == "O" || name[0] == "Z" || name[0] == "N" : print("Hello, \(name)!") case _ where surname[0] == "K" || surname[0] == "A" : print("Hello, \(name) \(surname)!") case _ where fathersName == "T" || fathersName == "A" : print("Hello, \(name) \(surname) \(fathersName)!") default: print("Brys, otsyuda!") } } // Расширение для возвращения первого элемента из строки extension String { subscript(idx: Int) -> String { String(self[index(startIndex, offsetBy: idx)]) } } // Пример/Демонстрация: var string = "Hello, world!" var firstChar = string[0] // Возвращает "H" // Сюда вводим ФИО studentS(name: , surname: , fathersName: )
@darkmoonlight8856
@darkmoonlight8856 Жыл бұрын
я сделал проще, посмотри) let fullName = ["Филовец", "Александр", "Владимирович"] let firstName = fullName[1] let lastName = fullName[0] let middleName = fullName[2] switch (firstName.first, middleName.first, lastName.first) { case ("А", _, _), ("О", _, _): print("Привет, \(firstName)!") case (_, "В", _), (_, "Д", _): print("Привет, \(firstName) \(middleName)!") case (_, _, "Е"), (_, _, "З"): print("Привет, \(lastName)!") default: print("Привет, \(firstName) \(middleName) \(lastName)!") }
@basqaca
@basqaca Жыл бұрын
@@darkmoonlight8856 .first даёт возможность получить доступ к первому символу строки?
@darkmoonlight8856
@darkmoonlight8856 Жыл бұрын
@@basqaca можно и так сказать)
@sleekoff
@sleekoff Жыл бұрын
Задание 3 let firstName = "Alex" let middleName = "Ivanovich" let lastName = "Ivanov" let student = (lastName, firstName, middleName) switch student { case (_, let first, _) where first.first == "A" || first.first == "O": print("Hi, \(firstName)") case (_, _, let middle) where middle.first == "V" || middle.first == "D": print("Hi, \(firstName) \(middleName)") case (let last, _, _) where last.first == "E" || last.first == "Z": print("Hi, \(lastName)") default: print("Hi, \(lastName) \(firstName) \(middleName)") }
@ayratbakhteev3289
@ayratbakhteev3289 Жыл бұрын
Вот мой вариант решения первого задания. В цикле к строке можно применить метод .lowercased(), например, иначе заглавные буквы в вашей строке учитываться не будут, если вы, конечно, не продублируете все их в case. И еще я создал отдельный case, который пропускает пробелы, а также мягкий и твердый знак, которые не подходят нам по условиям задачи. Я для того, чтобы попрактиковаться складывал все в словарь. let someString = "Говорят, что цифра семь очень похожа на кочергу. Сама она считает, что её название произошло от слова «седмичник». А седмичник - это цветок, который имеет 7 лепестков, 7 чашелистиков и 7 тычинок." var quantityOfSymbols = [String : Int]() var quantityOfVowels = 0 var quantityOfConsonants = 0 var quantityOfInts = 0 var quantityOfOtherSymbols = 0 for symbol in someString.lowercased() { switch symbol { case "а", "я", "у", "ю", "о", "е", "ё", "э", "и", "ы": quantityOfVowels += 1 quantityOfSymbols["Гласные"] = quantityOfVowels case "б", "в", "г", "д", "ж", "з", "й", "к", "л", "м", "н", "п", "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ": quantityOfConsonants += 1 quantityOfSymbols["Cогласные"] = quantityOfConsonants case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0": quantityOfInts += 1 quantityOfSymbols["Цифры"] = quantityOfInts case " ", "ь", "ъ": continue default: quantityOfOtherSymbols += 1 quantityOfSymbols["Прочее"] = quantityOfOtherSymbols } }
@dima1619
@dima1619 Жыл бұрын
да, с lower/uppercased хорошая тема, чтоб дважды буквы не прописывать. А я еще сделал текст многострочным в тройных ковычках и посчитал количество переносов строк - case "\u{000A}". И для проверки задал выражение, проверяющее равенство количества символов изначальной строки через .count с суммой полученных значений.
@dmytronice1337
@dmytronice1337 8 ай бұрын
Task 1: let str = "Hello, world 23, separation 1" var numbers = 0 var commasAndPointsAndSpaces = 0 var vowels = 0 var notVowels = 0 for char in str { switch char.lowercased() { case let num where Int(String(num)) != nil: numbers += 1 case ".", ",", " ": commasAndPointsAndSpaces += 1 case "a", "o", "y", "i", "e": vowels += 1 default: notVowels += 1 } } print("Vowels: ", vowels) print("notVowels: ", notVowels) print("numbers: ", numbers) print("commasAndPointsAndSpaces: ", commasAndPointsAndSpaces)
@vampilogov
@vampilogov 9 жыл бұрын
Норм домашка)
@nerzh6741
@nerzh6741 8 жыл бұрын
[Printable] - как-то не работает (swift 2.2, xcode 7.3)
@sergeykravtsov640
@sergeykravtsov640 8 жыл бұрын
+Nerzh Фамильярничает переименовали в CustomStringConvertible
@nerzh6741
@nerzh6741 8 жыл бұрын
спс
@mor2623
@mor2623 2 жыл бұрын
2022🙂
@iamP.M.I.T
@iamP.M.I.T 5 жыл бұрын
апрель 2019
@marcello7327
@marcello7327 11 ай бұрын
let symbols = "Hi my name is Vlad. Im 20 and I am learning swift right now. I wonna do it homework and start learning next lesson. Thanks Alex Skytarenko for this swift course. It old cours but the best for me. Bye!" var vowels = 0 var consonants = 0 var number = 0 var emptyChar = 0 for i in symbols.lowercased() { switch i { case "a", "e", "i", "o", "u": vowels += 1 case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9": number += 1 case " ", ".", ",", "!", "?", "-", "'": emptyChar += 1 case i: consonants += 1 continue default: break } } let age = 20 switch age { case 0...5: print("Child") case 6...17: print("Schoolboy") case 18...21: print("Student") case 22...60: ("Do what u want") default: break } let student = (name: "Vovan", surname: "Duban", middlname: "Volodymyrovich") switch student { case (let name, _, _) where name.hasPrefix("A") || name.hasPrefix("O"): print("Hello \(name)") case (_, let surname,_) where surname.hasPrefix("V") || surname.hasPrefix("D"): print("Hello \(student.name) \(surname)") case (_, _, let middleName) where middleName.hasPrefix("R") || middleName.hasPrefix("V"): print("Hello \(middleName)") default: print("Hello \(student.name) \(student.surname) \(student.middlname)") } let bigShip = (x: 1, y: 1, w: 4, h: 1) let ship = (x: 5, y: 8, w: 1, h: 1) let shoot = (x: 1, y: 1) switch shoot { case (let a, let b) where a == bigShip.x && b == bigShip.y: print("Hit!") default: switch shoot { case (let a, let b) where a == ship.x && b == ship.y: print("Destroyed!") default: print("Miss!") } }
@marshmallow8072
@marshmallow8072 2 жыл бұрын
Действительно домашка бывает уже не по теме, и довольно трудно разобраться человеку который еще не дошел до циклов и так далее. Но уроки воистину хорошие.
@mtskvch
@mtskvch Жыл бұрын
я после каждой домашки вахуях сижу))
@ВладиславРябцев-ъ6л
@ВладиславРябцев-ъ6л Жыл бұрын
@@mtskvch я принципе все делаю и понимаю, оно и не сложное кроме глобальных задач, про шахматы и морской бой, тут вообще атас, чужой код не всегда понимаю, вот на данный момент с морским боем еще ничего не понял ))
@saaaaim
@saaaaim 4 ай бұрын
@@ВладиславРябцев-ъ6л разобрался?
@daniil3286
@daniil3286 8 ай бұрын
Первое задание: let str = "gsfg543543gsdfgdaaaeoovobyqyqgkglwowoiirjbnnn43299flflaaueyapooiuba" let vowel = "eyuioa" let conconant = "qwrtpsdfghjklzxcvbnm" let digit = "0123456789" var v = 0 var c = 0 var d = 0 for i in str { switch i { case _ where vowel.contains(i) == true: v += 1 case _ where conconant.contains(i) == true: c += 1 case _ where digit.contains(i) == true: d += 1 default: break } } print("vowel: \(v), conconant: \(c), digit: \(d)")
@timursky
@timursky 8 жыл бұрын
непонятно... разве массив (в данном случае, array) может состоять из значений РАЗЛИЧНОГО типа?...
@Grandhustla
@Grandhustla 5 жыл бұрын
kzbin.info/www/bejne/oYjTc2t5fL2ba7s так и не сделали
@dimashulga4430
@dimashulga4430 2 жыл бұрын
XD, до сих пор не сделали
@tw1sh15
@tw1sh15 2 жыл бұрын
до сих пор все так же)
@mtskvch
@mtskvch Жыл бұрын
@@tw1sh15 до сих пор...
@bokhulenkov
@bokhulenkov Жыл бұрын
Мой вариант 3 задания var firstName = "Олег" var middleName = "Владимирович" var lastName = "Нестеров" let tupleName = (firstName, middleName, lastName ) switch tupleName { case let (firstName, middleName, _) where firstName.starts(with: "А") || firstName.starts(with: "О") && !(middleName.starts(with: "В") || middleName.starts(with: "Д")): print("Уважаемый \(firstName)") case let (_, middleName, _) where middleName.starts(with: "В") || middleName.starts(with: "Д"): print("Уважаемый \(firstName) \(middleName)") case let (_, _, lastName) where lastName.starts(with: "Е") || lastName.starts(with: "З"): print("Уважаемый \(lastName)") default: print("\(lastName) \(firstName) \(middleName)") } В первой части добавил код проверки Отчества, так как захотел чтобы если совпало Имя и Отчество обращение шло по ИО
@Linatimes
@Linatimes Жыл бұрын
//Д.з 1 let text = "Я был когда-то странной игрушкой деревянной, и никто не хотел ко мне подходить, пока я не познакомился с очаровательной жабой по имени Гена. Теперь мы программируем вместе! Ну что ещё написать, чтобы набрать 200 символов??" var vowel = 0 var constant = 0 var symbols = 0 for i in text { let letters = String(i).lowercased() switch letters { case "а", "е", "ё", "и", "о", "у", "ы", "э", "ю", "я": vowel += 1 case "б", "в", "г", "д", "ж", "з", "к", "л", "м", "н", "п", "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь": constant += 1 default: symbols += 1 } } print(""" \(text) Total Symbols: \(text.count) Vowels: \(vowel) Consonants: \(constant) Symbols: \(symbols) """) //Д.з 2 let age = -1 switch age { case 0...1 : print("Младенец") case 2...11 : print("Ребенок") case 12...16 : print("Подросток") case 16...22 : print("Молодежь") case 23...49 : print("Взрослый") case 50...69 : print("Зрелый") case 70...80 : print("Пожилой") case 90...100 : print("Старик") case 101... : print("Откуда порох в пороховницах?") default : print("Ума лопата. Убери знак минуса перед значением") } //Д.з 3 let name = "марфа" let fathersname = "леонардовна" let surname = "зодкина" let tuple = (name, fathersname, surname) switch tuple { case (name, _, _) where name.first == "а" || name.first == "о" : print("\(name.capitalized)") case (_, fathersname, _) where fathersname.first == "в" || fathersname.first == "д" : print("\(name.capitalized) \(fathersname.capitalized)") case (_, _, surname) where surname.first == "е" || surname.first == "з" : print("\(surname.capitalized)") default: print("\(name.capitalized) \(fathersname.capitalized) \(surname.capitalized)") } //ИЛИ ТАК.... let name = "Марфа" let fathersname = "Леонардовна" let surname = "Зодкина" let tuple = (name, fathersname, surname) switch tuple { case (name, _, _) where name.hasPrefix("А") || name.hasPrefix("О") : print("\(name)") case (_, fathersname, _) where fathersname.hasPrefix("В") || fathersname.hasPrefix("Д") : print("\(name) \(fathersname)") case (_, _, surname) where surname.hasPrefix("Е") || surname.hasPrefix("З") : print("\(surname)") default: print("\(name) \(fathersname) \(surname)") } //Д.з. 4 var number = (num: 5, letter: "b") switch number { case (9,"h"),(7,"k") : print("Убил") case (4...7,"b"),(3...5,"i"),(9,"b"),(9,"c"),(7,"d"..."j"): print("Попал") default: print("мимо") }
@janehotnorth468
@janehotnorth468 4 ай бұрын
В 4 задание после возвращения значения First после 1 запуска кода там всегда 0, не знаю как пофиксить, если будут идеи = пишите. var symbols = "AKLFNEWKNFKJWIU3UIY988D1387DG1298;21.,.12',.;'12;'32,'3,1',32.1,3'12,3L21KEOP120990RC3H14R10M;'.'.;;'HJ';M.;JH,.',65';,4';556,53M,5;23,534,;L,23L4,23;'," let lettersHugeLittle : [Character] = ["A", "B", "C", "D", "E", "F", "G","H", "I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a", "b", "c", "d", "e", "f", "g","h", "i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] let numbers : [Character] = ["1", "2", "3", "4", "5", "6", "7","8", "9","0"] let anotherSymbols : [Character] = ["!", ".", ",", "?", ":", ";", "(", ")","'",] var hugeBigLetterResult = 0 var numberResult = 0 var anotherSymbolsResult = 0 for i in symbols { switch symbols { case _ where lettersHugeLittle.contains(i) : hugeBigLetterResult += 1 case _ where numbers.contains(i) : numberResult += 1 case _ where anotherSymbols.contains(i) : anotherSymbolsResult += 1 default: break } } // Second Exercise let age = 90 switch age { case 1...3 : print("Маленький ребенок в возрасте: \(age)") case 6...7 : print("Ребенок, подготовлен к учебе в школе, возраст: \(age)") case 10...12 : print("Школьник в возрасте: \(age)") case 16..
@ZloVnutri
@ZloVnutri 2 жыл бұрын
Домашка 1 в 2022=) let text = "На дворе 2022й год! Я начал изучать программирование и это одно из домашних заданий, которое мне необходимо выполнить. Будет не просто, но и сложно быть не должно. Ну что? Будем двигаться вперед! Удачи мне!" let vowelsChar: [Character] = ["а", "о", "е", "и", "у", "ы", "э", "ё", "я", "ю"] let consonantsChar: [Character] = ["й", "ц", "к", "н", "г", "ш", "щ", "з", "х", "ъ", "в", "п", "р", "л", "д", "ж", "ч", "с", "м", "т", "ь", "б"] let simbolsChar: [Character] = ["!", ".", ",", "?", ":", ";", "(", ")"] let numbersChar: [Character] = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] var vowels = 0 var consonants = 0 var simbols = 0 var numbers = 0 var spaces = 0 for i in text { switch i { case _ where vowelsChar.contains(i): vowels += 1 case _ where consonantsChar.contains(i): consonants += 1 case _ where simbolsChar.contains(i): simbols += 1 case _ where numbersChar.contains(i): numbers += 1 default: spaces += 1 } } print("This text contains \(vowels) vowels, \(consonants) consonants, \(simbols) simbols, \(numbers) numbers and \(spaces) spaces. Total characters in the text: \(vowels + consonants + simbols + numbers + spaces).") консоль: This text contains 66 vowels, 89 consonants, 8 simbols, 4 numbers and 39 spaces. Total characters in the text: 206.
@geroy_skazok
@geroy_skazok 2 жыл бұрын
Привет) Подскажи, пожалуйста, если не сложно, почему после дефолта спейс и почему без него все падает, заранее спасибо)
@ZloVnutri
@ZloVnutri 2 жыл бұрын
@@geroy_skazok Привет! После дефолта space это пробелы)) Если в кейсах нет искомого сравнения значит это пробел в тексте. Без дефолта конструкция свитч не работает в принципе) Поэтому без него падает))
@geroy_skazok
@geroy_skazok 2 жыл бұрын
@@ZloVnutri спасибо!)🙏🏾
@capfan6650
@capfan6650 2 жыл бұрын
Если я правильно понял, то твой единственный недочёт заключается в том, что не учтён верхний регистр.
SWIFT - 09а. Разбор домашки
27:02
Alex Skutarenko
Рет қаралды 13 М.
SWIFT - 17. Сабскрипты
31:22
Alex Skutarenko
Рет қаралды 21 М.
Who's spending her birthday with Harley Quinn on halloween?#Harley Quinn #joker
01:00
Harley Quinn with the Joker
Рет қаралды 25 МЛН
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 156 МЛН
Кто круче, как думаешь?
00:44
МЯТНАЯ ФАНТА
Рет қаралды 4,1 МЛН
SWIFT - 11. Клоужеры
50:22
Alex Skutarenko
Рет қаралды 50 М.
ZIG | Ep1 | Introduction
20:18
Code Guild
Рет қаралды 10 М.
SWIFT - 10. Функции
50:09
Alex Skutarenko
Рет қаралды 48 М.
SWIFT - 22. ARC
48:25
Alex Skutarenko
Рет қаралды 25 М.
SWIFT - 15. Свойства типов
38:28
Alex Skutarenko
Рет қаралды 22 М.
SWIFT - 18. Наследование
39:32
Alex Skutarenko
Рет қаралды 19 М.
SWIFT - 01. Основы
31:16
Alex Skutarenko
Рет қаралды 285 М.
SWIFT - 12. Энумы
39:23
Alex Skutarenko
Рет қаралды 32 М.
SWIFT - 14. Свойства
31:41
Alex Skutarenko
Рет қаралды 29 М.
Who's spending her birthday with Harley Quinn on halloween?#Harley Quinn #joker
01:00
Harley Quinn with the Joker
Рет қаралды 25 МЛН