Noob na Ruby tutaj. Pracując przez kilka ćwiczeń i uderzając w ścianę.Oblicz liczbę liter za pomocą serii ocen
Ćwiczenie: Oblicz stopień się szeregu gatunków
Tworzenie get_grade metoda, która akceptuje tablicę wyników testów. Każdy wynik w tablicy powinien wynosić od 0 do 100, gdzie 100 oznacza maksymalną liczbę punktów.
Obliczyć średnią punktację i zwrócić ocenę litery jako ciąg, tj. "A", "B", "C", "D", "E" lub "F".
I powracają błąd :
avg.rb:1: syntax error, unexpected tLBRACK, expecting ')'
def get_grade([100,90,80])
^
avg.rb:1: syntax error, unexpected ')', expecting $end
Oto co mam do tej pory. Chciałbym trzymać się poniższych metod lub .join, ponieważ próbuję pracować z metodami, których uczymy się na zajęciach. Więc suma, wstrzyknięcie itp. Niekoniecznie będzie pomocne. Z góry przepraszam za specyfikę tej prośby :) Jestem pewna, że jest lepszy sposób na to, że jest mniej kodu, ale próbuję się tego nauczyć w ten sposób.
def get_grade([100,90,80])
get_grade = (array[0] + array[1] + array[2]).to_i/array.length.to_i
case get_grade
when 90..100
"A"
when 80..90
"B"
when 70..80
"C"
when 60..70
"D"
when 0..60
"F"
else
"Error"
end
end
puts get_grade([100,90,80])
Ponadto obliczenie stopnia może być nieznacznie poprawiła : 'array.inject (: +)/tablica.size'. –
@BenjaminTan Wiem, i chciałbym; ale cytując pytanie: "Chciałbym trzymać się poniższych metod lub .join, ponieważ próbuję pracować z metodami, których uczymy się na zajęciach, więc suma, wstrzyknięcie itp. niekoniecznie będzie pomocne". – michaelb958
To prawda, ale naprawdę nie mogłem się oprzeć. :) –