Menu
Coddy logo textTech

If-Else

חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 25 מתוך 75.

if מאפשר לנו להריץ קוד מסוים אם תנאי מתקיים, אבל מה אם נרצה להריץ משהו אחר אם התנאי לא מתקיים?

לשם כך יש לנו את פקודת else:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

בדוגמה שלמעלה, age קטן מ־18, מה שאומר שהקוד שב־else יופעל ו־status יכיל את "Young".

אפשר אפילו להפוך את זה למשמעותי יותר באמצעות המשפט else if:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

כאן הוא בודק אם age קטן מ־18; אם לא, הוא ימשיך לתנאי הבא ויבדוק אם age נמצא בין 18 ל־65. אם גם התנאי הזה לא מתקיים, הוא יקבע את status לערך "Old".

אפשר להוסיף כמה משפטי else if שנרצה:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}
...
challenge icon

אתגר

מתחילים

ניתן לך קוד שמקבל כקלט מספר המציין את מהירות הרוח ושומר אותו במשתנה בשם wind.

הערה: נלמד בשיעורים הבאים כיצד לקבל קלט מהמשתמש. כרגע פשוט אל תיגע בשורות הראשונות.

 

המשימה שלך היא לאתחל את המשתנה status בהתאם לתנאים:

  • "Calm" אם wind קטן מ־8,
  • "Breeze" אם wind נמצא בין 8 ל־31 (כולל 8 ו־31).
  • "Gale" אם wind נמצא בין 32 ל־63 (כולל 32 ו־63)
  • "Storm" אחרת

בדוק את מקרי הבדיקה כדי לראות את כל הקלטים ואת הפלטים הצפויים

נסו בעצמכם

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let wind: i32 = input.trim().parse().unwrap();
    // החליפו את השורה שלמטה בביטוי if-else שמקצה ערך ל-status בהתאם ל-wind
    let status = "unset";
    
    // אל תשנו את השורה שלמטה
    println!("status = {}", status);
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Rust אונליין