Diğer dillerde gönderilen çözümler görmekteyim ama Ruby'yi bu yüzden burada istiyorum.Öğrenci İşaretleri Hash
Ruby kullanarak bir öğrenci notları sistemi oluşturmaya çalışıyorum, bu, öğrencinin adını ve o öğrencinin kullanıcı için iki notunu almalıdır.
student_marks = {
"Steve" => 45, 65,
"James" => 20, 75,
"Scott" => 30, 90
}
Kodum girişimi aşağıdaki gibidir: Açıkçası bir problem olması
continue = "y"
student_grades = Hash.new
while continue == "y"
puts "Please enter student name"
name = gets.chomp
puts "Please enter the first grade for #{name}"
grade_one = gets.chomp.to_i
puts "Please enter the second grade for #{name}"
grade_two = gets.chomp.to_i
student_grades.each do |key, value|
student_grades[key] = name
student_grades[value] = grade_one
student_grades[value][1] = grade_two
end
puts "Do you want to continue? y or n"
continue = gets.chomp
end
puts student_grades
Ben böyle bir şey görünümlü sona ereceğini yüzden denemek ve bir karma bu depolamak için karar mantığım her bir yinelemeyi kullanarak karmayı doldurmaya çalışırken, geri dönüşü devam ettiriyorum. Sanırım dizileri kullanabilirim ve karmaları onlardan alabilirim, fakat kullanıcı girdisinden yinelemeyi kullanarak hem anahtarları hem de değerleri karıştırmanın bir yolu var mı?
Öncelikli olarak beklenen sonuç geçersizdir. – sawa
Kodunuzda, "student_grades" ile boş bir karma olarak başlarsınız, ardından yineleyin, bunun için hiçbir şey yapmıyorsunuz demektir. – sawa
Oops teşekkürler! Görünüşe bakılırsa mantığım karmaşıklar etrafında tamamen yanlış. – Sevenum