Menu
CoddyTech

Tambahkan Nilai

Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 50 dari 56.

Sekarang, perluas sistem dengan menambahkan method add_grade. Method ini menambahkan nilai numerik ke array :grades milik siswa, selama siswa tersebut ada.

Jika nama tersebut tidak ada dalam catatan, laporkan hal itu dan hentikan proses.

challenge icon

Tantangan

Mudah

Pertahankan hash $student_records dan add_student dari pelajaran sebelumnya. Tambahkan method add_grade(name, grade) yang:

  1. Mencetak Student '<name>' not found. jika nama tersebut tidak ada, lalu mengembalikan nilai.
  2. Jika tidak, menambahkan grade ke dalam array :grades milik siswa, lalu mencetak Grade <grade> added for '<name>'.

Ganti blok pengujian di bagian bawah dengan:

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_grade("Alice", 90)
add_grade("Alice", 85)
add_grade("Bob", 75)
add_grade("Charlie", 80)
puts $student_records.inspect

Output yang diharapkan:

Student 'Alice' added.
Student 'Bob' added.
Grade 90 added for 'Alice'.
Grade 85 added for 'Alice'.
Grade 75 added for 'Bob'.
Student 'Charlie' not found.
{"Alice"=>{:age=>20, :grades=>[90, 85], :courses=>["Math", "Physics"]}, "Bob"=>{:age=>22, :grades=>[75], :courses=>["Biology", "Chemistry"]}}

Coba sendiri

$student_records = {}

def add_student(name, age, courses)
  if $student_records.key?(name)
    puts "Student '#{name}' already exists."
    return
  end
  $student_records[name] = { age: age, grades: [], courses: courses }
  puts "Student '#{name}' added."
end

# TODO: def add_grade(name, grade)

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_grade("Alice", 90)
add_grade("Alice", 85)
add_grade("Bob", 75)
add_grade("Charlie", 80)
puts $student_records.inspect
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Ruby online