Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Swift Basics Swift Operators Working With Operators

NAVEED CHOWDHURY
NAVEED CHOWDHURY
1,142 Points

Operators.swift

let value = 200 let divisor = 5

let someOperation = 20 + 400 % 10 / 2 - 15 let anotherOperation = 52 * 27 % 200 / 2 + 5

// Task 1 - Enter your code below

let result = value % divisor

// Task 2 - Enter your code below

let isPerfectMultiple = value % divisor == 0

let isGreater = someOperation >= anotherOperation

// Cant get it right need help here //

operators.swift
// Enter your code below
let value = 200
let divisor = 5

let someOperation = 20 + 400 % 10 / 2 - 15
let anotherOperation = 52 * 27 % 200 / 2 + 5

// Task 1 - Enter your code below

let result = value % divisor
let isPerfectMultiple = result == 0

// Task 2 - Enter your code below
let isGreater = someOperation <=> anaotherOperation 

2 Answers

Charles Kenney
Charles Kenney
15,604 Points

Part 1

Looks like your problem lies here.

let isGreater = someOperation <=> anaotherOperation 

Two things are contributing to compiler errors. The first one is "<=>" is not an operator. In this case we need to use the greater than operator (>). The other error stems from a typo in reference to the constant 'anotherOperation', in which you typed 'anaotherOperation' on line 14.

When you fix those, your solution should look like this.

// Enter your code below
let value = 200
let divisor = 5

let someOperation = 20 + 400 % 10 / 2 - 15
let anotherOperation = 52 * 27 % 200 / 2 + 5

// Task 1 - Enter your code below

let result = value % divisor
let isPerfectMultiple = result == 0

// Task 2 - Enter your code below
let isGreater = someOperation > anotherOperation

Part 2

Certainly, I can help you with that. Task two says :

we'd like to know if the first operation, someOperation is greater than, equal to or less than anotherOperation. Use the greater than or equal to operator and assign the Boolean result of the comparison to a constant named isGreater.

I just noticed how this can be confusing. Pasan is asking us to use the 'greater than or equal to' operator (>=) however, we are assigning it to the constant 'isGreater' (it would make more since to call it isGreaterOrEqualTo). I think most people overlooked this in favor of the name 'isGreater' as I did and ended up using the 'greater than' operator. In any case, both results will return true, and that all the challenge engine is checking for when you submit you answer. Probably just a minor typo that no one ever fixed.

Regardless, either of these work

let isGreater = someOperation > anotherOperation
let isGreater = someOperation >= anotherOperation

Hope this helps,

Charles

NAVEED CHOWDHURY
NAVEED CHOWDHURY
1,142 Points

Thanks for your help. The thing I want to ask is that why did we only use the > comparison operator in Task 2. Is this because the question is set in such a way. The Boolean value of isGreater is false right because both someOperation and anotherOperation is equal to 5 . (I maybe totally wrong in this ) , but I would like to know the underlying reason.

Charles Kenney
Charles Kenney
15,604 Points

Certainly, I can help you with that. Task two says :

we'd like to know if the first operation, someOperation is greater than, equal to or less than anotherOperation. Use the greater than or equal to operator and assign the Boolean result of the comparison to a constant named isGreater.

I just noticed how this can be confusing. Pasan is asking us to use the 'greater than or equal to' operator (>=) however, we are assigning it to the constant 'isGreater' (it would make more since to call it isGreaterOrEqualTo). I think most people overlooked this in favor of the name 'isGreater' as I did and ended up using the 'greater than' operator. In any case, both results will return true, and that all the challenge engine is checking for when you submit you answer. Probably just a minor typo that no one ever fixed.

Regardless, either of these work

let isGreater = someOperation > anotherOperation
let isGreater = someOperation >= anotherOperation