๐ Scenario: Imagine you are building a simple program that decides if a person is old enough to vote. Voting age is 18 years or older.
๐ฏ Goal: You will create a program that uses an if expression to check a person's age and print whether they can vote or not.
๐ What You'll Learn
Create a variable called age with the value 20
Create a variable called voting_eligibility that uses an if expression to check if age is 18 or more
Use if expression to assign "Can vote" if age is 18 or more, otherwise "Cannot vote"
Print the value of voting_eligibility
๐ก Why This Matters
๐ Real World
Checking conditions like age eligibility is common in many programs, such as voting systems, age-restricted content, or membership access.
๐ผ Career
Understanding if expressions is fundamental for decision-making in programming, useful in almost every software development job.
Progress0 / 4 steps
1
Create the age variable
Create a variable called age and set it to 20.
Rust
Hint
Use let to create a variable and assign the number 20 to age.
2
Create the voting eligibility variable using if expression
Create a variable called voting_eligibility that uses an if expression to check if age is 18 or more. Assign "Can vote" if true, otherwise "Cannot vote".
Rust
Hint
Use if age >= 18 { "Can vote" } else { "Cannot vote" } to assign the value.
3
Print the voting eligibility
Write a println! statement to print the value of voting_eligibility.
Rust
Hint
Use println!("{}", voting_eligibility); to show the result.
4
Run and see the result
Run the program and observe the output. It should print Can vote.
Rust
Hint
The program should print Can vote because age is 20 which is 18 or more.
Practice
(1/5)
1. What does an if expression do in Rust?
easy
A. It chooses between code blocks based on a condition.
B. It repeats code multiple times.
C. It defines a new function.
D. It declares a variable.
Solution
Step 1: Understand the purpose of if
The if expression checks a condition to decide which code block to run.
Step 2: Compare with other options
Repeating code is done by loops, functions define behavior, and variables store data, so these are incorrect.
Final Answer:
It chooses between code blocks based on a condition. -> Option A
Quick Check:
If expression = choose code [OK]
Hint: If checks true/false to pick code [OK]
Common Mistakes:
Confusing if with loops
Thinking if declares variables
Mixing if with function definitions
2. Which of the following is the correct syntax for an if expression in Rust?
easy
A. if condition: { /* code */ } else: { /* code */ }
B. if condition { /* code */ } else { /* code */ }
C. if (condition) then { /* code */ } else { /* code */ }
D. if condition -> { /* code */ } else -> { /* code */ }
Solution
Step 1: Recall Rust if syntax
Rust uses if condition { ... } else { ... } without parentheses or arrows.
Step 2: Check each option
if condition { /* code */ } else { /* code */ } matches Rust syntax; others use invalid keywords or symbols.
Final Answer:
if condition { /* code */ } else { /* code */ } -> Option B
Quick Check:
Rust if syntax = braces, no parentheses [OK]
Hint: Rust if uses braces, no parentheses [OK]
Common Mistakes:
Adding parentheses like other languages
Using 'then' keyword
Using colons or arrows incorrectly
3. What is the output of this Rust code?
let x = 10;
let y = if x > 5 { "big" } else { "small" };
println!("{}", y);
medium
A. Compilation error
B. small
C. big
D. 10
Solution
Step 1: Evaluate the condition x > 5
Since x is 10, which is greater than 5, the condition is true.
Step 2: Determine which branch runs
The if expression returns "big" because the condition is true, so y is assigned "big".
Final Answer:
big -> Option C
Quick Check:
10 > 5 is true, so output = big [OK]
Hint: Check condition true or false to pick output [OK]
Common Mistakes:
Confusing output with variable x
Thinking else branch runs
Expecting numeric output
4. Identify the error in this Rust code snippet:
let number = 7;
let result = if number % 2 == 0 {
"even"
} else {
"odd"
};
println!("{}", result);
medium
A. No error, code runs correctly
B. Mismatched types in if and else branches
C. Missing semicolon after if expression
D. Using % operator incorrectly
Solution
Step 1: Check syntax and types
The if expression returns string slices "even" or "odd", both same type, so no type mismatch.
Step 2: Verify semicolons and operators
The semicolon after the if expression is present, and the modulo operator is used correctly.
Final Answer:
No error, code runs correctly -> Option A
Quick Check:
Correct syntax and types = no error [OK]
Hint: Check types and semicolons carefully [OK]
Common Mistakes:
Thinking semicolon is missing
Confusing types in branches
Misusing modulo operator
5. How can you use an if expression to assign a value to a variable based on multiple conditions in Rust?
Choose the correct code snippet.
hard
A. let grade = if score >= 90 -> 'A' else if score >= 80 -> 'B' else -> 'C';
B. let grade = if (score >= 90) then 'A' else if (score >= 80) then 'B' else 'C';
C. let grade = if score >= 90: 'A' elif score >= 80: 'B' else: 'C';
D. let grade = if score >= 90 { 'A' } else if score >= 80 { 'B' } else { 'C' };
Solution
Step 1: Understand Rust's if-else if syntax
Rust uses if condition { value } and else if condition { value } blocks with braces, no keywords like then or arrows.
Step 2: Check each option for syntax correctness
let grade = if score >= 90 { 'A' } else if score >= 80 { 'B' } else { 'C' }; uses correct Rust syntax; others use invalid keywords or punctuation.
Final Answer:
let grade = if score >= 90 { 'A' } else if score >= 80 { 'B' } else { 'C' }; -> Option D
Quick Check:
Rust if-else if uses braces, no then [OK]
Hint: Use braces and else if without extra keywords [OK]
Common Mistakes:
Adding 'then' keyword
Using colons or arrows
Incorrect else if syntax
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.