이번 편의 목표: 연체 여부로 문구를 고르고, 1일부터 연체 일수까지의 요금을 더합니다.

if는 문장이면서 값이 될 수 있습니다. 두 갈래의 타입은 같아야 합니다. for는 범위를 하나씩 꺼냅니다. 1..=days는 1과 days를 모두 포함합니다. 1..days는 days를 포함하지 않습니다.

Rust
fn main() {
    let days = 3;
    let label = if days > 0 { "연체" } else { "정상" };
    println!("{label}");

    let mut sum = 0;
    for day in 1..=days {
        sum += day * 100;
    }
    println!("{sum}");
}

days가 3이므로 첫 줄은 연체입니다. 반복은 1, 2, 3을 꺼내 100, 200, 300을 더합니다. 둘째 줄은 600입니다. 비교는 ==, !=, >, <를 씁니다. 대입 =와 비교 ==는 다른 기호입니다.

조건이 끝날 때까지 반복하려면 loop를 쓰고, 안에서 break로 빠져나옵니다. 횟수보다 조건이 먼저면 while을 씁니다. 이 편의 합계는 범위가 분명하므로 for가 맞습니다.

직접 해 보기

days를 2로 바꿨을 때 두 줄이 연체와 300인지 확인하세요.

해설

2는 0보다 크므로 문구는 연체입니다. 1일과 2일의 요금 100과 200을 더하면 300입니다.