[RUBY] Programme pour trouver le nombre de jours par mois y compris hors-année

【Aperçu】

1. Conclusion </ b>

2. Comment programmer </ b>

3. Environnement de développement </ b>

  1. Conclusion

Seulement en février, créez une méthode qui correspond à l'expression conditionnelle avec un reste (%) de 4 100 400, et saisissez la date et sortez la date </ b>!
2. Comment programmer

def get_days_leap_year(year, month)
  each_month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] #---❶
  if month == 2
    if year % 4 == 0
      if year % 100 == 0 && year % 400 != 0 #---❷
        days = 28
      else
        days = 29
      end
    else
      days = 28 #---❸
    end
  else
    days = each_month_days[month - 1] #---❹
  end

  return days #---❺
end

puts "Veuillez saisir l'année:"
year = gets.to_i
puts "Veuillez saisir le mois:"
month = gets.to_i #---❻

days = get_days(year, month)
puts "#{year}Année#{month}La lune#{days}Il y a des jours" #---❼

❶: Ici, le nombre de jours de janvier à décembre est mis dans le tableau. Le 28 février est le 28 février, sauf pour la basse saison. Nous sélectionnerons 28 jours ou 29 jours par la formule conditionnelle, et si rien n'est appliqué dans la formule conditionnelle, ce sera 28 jours.

❷: Divisible par 4 = hors année, divisible par 100 = pas hors année, 0 divisible par 400 = hors année, et ainsi de suite. J'ai fait des expressions conditionnelles pour "si février" et "si divisible par 4". C'est plus facile à comprendre et une expression conditionnelle ne devient pas compliquée, alors je l'ai subdivisée. La partie "divisible par 100 et non divisible par 400" est décrite collectivement dans l'expression conditionnelle, et si elle est applicable, elle sera de 28 jours, et si elle n'est pas applicable (= divisible par 400), elle sera de 29 jours. Lors de la détermination de l'année de l'infraction, il est écrit en détail si vous recherchez sur le net s'il s'agit de «4 100 400», je vais donc l'omettre ici.

❸: S'il n'est pas divisible par 4, ce n'est pas une année calme, donc codez également un programme de 28 jours pour cette condition.

❹: Puisque le nombre commence à "0" propre au tableau, lorsque vous obtenez le tableau, vous pouvez appeler le nombre de jours du mois correspondant par "Mois-1" pour le mois que vous souhaitez appeler. (ex: si c'est janvier, ce sera le 31, donc [1 (Monday) -1] sera [0] et each_month_days [0], donc vous pouvez obtenir 31.

❺: La méthode get_days_leap_year est une méthode qui veut calculer le nombre de jours, donc la valeur de retour est jours.

❻: L '«année» et le «mois» que vous souhaitez saisir. Ce sont les arguments formels de la méthode get_days_leap_year.

❼: L'année et le mois utilisés dans ❻ sont développés par expression, et le nombre de jours de la méthode get_days_leap_year est également étendu de # {days}.


3. Environnement de développement

Ruby 2.6.5
Rails 6.0.3.3
Visual Studio Code 1.49.2

Recommended Posts