Ich habe Lösungen in anderen Sprachen aber nicht Ruby gepostet, also frage ich hier.Student Marks Hash
Ich versuche, ein Studenten Marks System mit Ruby zu erstellen, das sollte den Namen des Studenten und zwei Marken vom Benutzer für diesen bestimmten Schüler nehmen.
ich entschieden und speichern diese in einem Hash zu versuchen, so dass es wie etwas am Ende aussehen würde:
student_marks = {
"Steve" => 45, 65,
"James" => 20, 75,
"Scott" => 30, 90
}
Mein Code Versuch wird wie folgt:
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
Offensichtlich gibt es ein Problem mit meine Logik beim Versuch, den Hash mit jeder/Iteration zu füllen, weil ich immer Null zurück bekomme. Ich denke, ich könnte Arrays verwenden und den Hash von ihnen auffüllen, aber gibt es eine Möglichkeit, den Hash sowohl die Schlüssel und Werte durch Iteration von Benutzereingaben zu füllen?
Ihr erwartetes Ergebnis ist an erster Stelle ungültig. – sawa
In Ihrem Code beginnen Sie mit 'student_grades' als ein leerer Hash, dann iterieren Sie darüber, was bedeutet, dass Sie nichts tun. – sawa
Hoppla danke! Es scheint, dass ich meine Logik um Hashes komplett falsch verstanden habe. – Sevenum