Помощь в решении задачи


#1

Приветствую друзья.

Читаю книгу по свифту и так же пытаюсь решить оттуда задания. В общем застрял на одном задании…
А точнее на пункте 4.

Задание

(1). Создайте псевдноним типа String с именем Text.

(3). Объявите три константы типа Text. Значение двух констант должны состоять только из цифр, третей - из цифр и букв.

(3). Из всех трех констант найдите те, которые состоят только из цифр, и выведите их на консоль. Для преобразования строки в число используйте функцию Int( ).

(4). Создайте псевдоним для типа(numberOne: Text?, numberTwo: Text?)? с именем TupleType. Данный тип является опциональным и также содержит в себе опциональные значения.

(5). Создайте три переменные типа TupleType, содержащие следующие значения: (“190”, “67”), (“100”, nil), ("-65",“70”).

(6). Выведите значения элементов тех кортежей, в которых ни один из элементов не инициализирован как nil.


#2

По всей видимости так:

typealias Text = String
typealias TupleType = (numberOne: Text?, numberTwo: Text?)?
let tt: TupleType = ("190", "67")

#3

А как решается 6-й пункт?

print(varOne?.NumberOne) // консоль Optional(“190”)
Или как-то по другому можно вывести?


#4
if let number = varOne?.NumberOne {
  print(number)
}

#5

Я решил это задание так:

typealias Text = String typealias TupleType = (numberOne: Text?, numberTwo: Text?)? var tupleOne:TupleType = ("190","67"), tupleTwo:TupleType = ("100","nil"), tupleThree:TupleType = ("-65","70") if (Int(tupleOne!.numberOne!) != nil) && (Int(tupleOne!.numberTwo!) != nil) { print(tupleOne)} if (Int(tupleTwo!.numberOne!) != nil) && (Int(tupleTwo!.numberTwo!) != nil) { print(tupleTwo)} if (Int(tupleThree!.numberOne!) != nil) && (Int(tupleThree!.numberTwo!) != nil) { print(tupleThree)}


#6

Почему у тебя в tupleTwo значение “nil” с кавычками записано? в задании без кавычек “Создайте три переменные типа TupleType, содержащие следующие значения: (“190”, “67”), (“100”, nil) , (”-65", “70”). " Опечатка?


#7

Помоему тут нет правильного ответа.
Я вот уже 3 часа бьюсь с этой задачей так и не понял как ее решить.


#8

typealias TupleType = (numberOne: text?, numberTwo: text?)?

var b1: TupleType = (“190”,“67”)
var b2: TupleType = (“100”,nil)
var b3: TupleType = ("-65",“70”)

if b1!.0 != nil && b1!.1 != nil { print(b1!)}
if b2!.0 != nil && b2!.1 != nil { print(b2!)}
if b3!.0 != nil && b3!.1 != nil { print(b3!)}

Разве такой вариант не получается проще? В данном случае не надо делать операцию Int ().


#9

c 1-3 пункт решил так
typealias Text = String
let a:Text = “12”
let b:Text = “22”
let c:Text = “22b”
var tx:(Text,Text,Text)=("","","")
if varTexting = Int(a){
tx.0=a }
if var Texting = Int(b){
tx.1=b }
if var Texting = Int©{
tx.2=c }
print(tx)


#10

Вот полный код, который работает

import UIKit
import Foundation

//Пункт 1
typealias Text = String
//Пункт 2
let a: Text = "123", b: Text = "321", c: Text = "1q2w3e"
//Пункт 3
if var pro = Int(a){
    print("Переменная а является числом \(Int(a)!)")
} else{
    print("Не является числом")
}
if var pro = Int(b){
    print("Переменная b является числом \(Int(b)!)")
} else{
    print("Не является числом")
}
if var pro = Int(c){
    print("Переменная c является числом \(Int(c)!)")
} else{
    print("Не является числом")
}
//Пункт 4
typealias TupleType = (numberOne: Text?, numberTwo:Text?)
//Пункт 5
var one:TupleType = ("190", "67"), two:TupleType = ("100", nil), three:TupleType = ("-65", "70")

//Пункт 6
if var a = one.numberOne, var a = one.numberTwo{
    print ("Первое значение кортежа one = \(one.numberOne!), Второе значение кортежа one равно \(one.numberTwo!)")
} else {
    print("Один из элементов отсутсвует!!!")
}
if let a = two.numberOne, let a = two.numberTwo{
    print ("Первое значение кортежа two = \(two.numberOne!), Второе значение кортежа two равно \(two.numberTwo!)")
} else {
    print("Один из элементов отсутсвует!!!")
}

if let a = three.numberOne, let a = three.numberTwo{
    print ("Первое значение кортежа one = \(three.numberOne!), Второе значение кортежа one равно \(three.numberTwo!)")
} else {
    print("Один из элементов отсутсвует!!!")
}