APPENDIX Exercise Answers
CHAPTER 1
Exercise 1
let months = 12
let daysInWeek = 7
let weeks = 52
Exercise 2
var gender = "Female"
var weight = 102.5 // in pounds
var height = 1.72 // in meters
var DOB = "09/25/1970" // mm/dd/yyyy
Exercise 3
println("Gender: \(gender)")
println("Weight: \(weight) pounds")
println("Height: \(height) meters")
println("DOB: \(DOB)")
Exercise 4
var weight = 102.5 // in pounds
var str = "Your weight is \(weight) pounds"
CHAPTER 2
Exercise 1
The problem with the code is that weightInPounds
is inferred to be of type Int
, which will cause the error when using it to multiply other Double
values.
The first way to fix this is to ensure that you assign a floating‐point value to weightInPounds
so that the compiler can infer it to be of type Double
:
var weightInPounds = 154.0
var heightInInches = 66.9
var BMI = (weightInPounds / pow(heightInInches,2)) * 703.06957964
println(BMI)
The second approach is to explicitly declare weightInPounds
as a Double
:
var weightInPounds:Double = 154
var heightInInches = 66.9
var BMI = (weightInPounds / pow(heightInInches,2)) * 703.06957964
println(BMI)
The third approach is to explicitly perform a cast on weightInPounds
and heightInInches
when performing the calculations:
var weightInPounds = 154
var heightInInches = 66.9
var BMI = (Double(weightInPounds) / pow(Double(heightInInches),2)) * 703.06957964
println(BMI)
Exercise 2
The output for the following statements is as follows. (The statements in bold ...
Get Beginning Swift Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.