Ruby Deposit System, Algorithmus Problem

Frage 1

Implementieren Sie ein Programm, das die folgenden Bedingungen erfüllt

Ich habe ein Einzahlungsguthaben von 100.000 Yen auf meinem Bankkonto und erstelle ein Programm zum Abheben von Geld. ・ Erstellen Sie eine Auszahlungsmethode, um Geld abzuheben ・ Wenn Sie Geld abheben, wird eine Gebühr von 110 Yen erhoben und die Meldung "Sie haben ◯◯ Yen abgehoben. Der Restbetrag ist ◯◯ Yen" wird angezeigt (der Restbetrag entspricht dem Betrag nach Abzug der Gebühr). ・ Wenn mehr als das Einzahlungsguthaben abgebucht wird, wird "Unzureichendes Guthaben" angezeigt. ・ Bitte beachten Sie die folgenden Hinweise.


def withdraw(balance, amount)
  fee = 110  #Gebühr
#Zeigen Sie den Auszahlungsbetrag und das Guthaben an oder zeigen Sie als unzureichendes Guthaben an, wenn mehr als das Guthaben ausgezahlt wird
end

balance = 100000  #Balance
puts "Wie viel möchten Sie abheben? (Es kostet 110 Yen)"
money = gets.to_i
withdraw(balance, money)

Es war ein relativ einfaches Thema.

Unten ist die Antwort.


def withdraw(balance, amount)
  fee = 110
  if balance >= (amount + fee)
    balance -= (amount + fee)
    puts "#{amount}Ich habe den Yen zurückgezogen. Der Rest ist#{balance}Es ist ein Kreis"
  else
    puts "Mangelhaftes Gleichgewicht"
  end
end

balance = 100000
puts "Wie viel möchten Sie abheben? (Es kostet 110 Yen)"
money = gets.to_i
withdraw(balance, money)

Wenn Sie der Denkweise in der richtigen Reihenfolge folgen, ① setzt "Wie viel möchten Sie abheben? (Es kostet 110 Yen)" ② Geben Sie mit money = gets.to_i den Auszahlungsbetrag mit einem Befehl ein und ersetzen Sie ihn durch Geld ③ Das Argument Zurückziehen ist definiert und springt zum endgültigen Ende ④ Erstellen Sie andernfalls einen bedingten Ausdruck, da der Ausgabeinhalt je nachdem, ob das Gleichgewicht nicht ausreicht, unterschiedlich ist. ⑤ Durch Setzen von Kontostand> = (Betrag + Gebühr) im bedingten Ausdruck, ob der Auszahlungsbetrag im Vergleich zum Kontostand gering ist oder nicht ausgedrückt ⑥ Durch Schreiben von Kontostand = Kontostand (Betrag + Gebühr) wird der Kontostand ausgedrückt und dem Kontostand zugewiesen. ⑦ Schreiben Sie balance- = (Betrag + Gebühr), um den Code sauber zu halten. ⑧ Wenn das Guthaben nicht ausreicht, wird nach sonst "Unzureichendes Guthaben" angezeigt.

Ich habe den Code wie folgt geschrieben, aber das sieht ein bisschen schmutzig aus. Derzeit wird derselbe Inhalt ausgegeben.


  if balance <  amount - 110
    puts "Mangelhaftes Gleichgewicht"
  else

    puts "#{amount}Ich habe den Yen zurückgezogen. Der Rest ist#{balance - amount - 110}Es ist ein Kreis"
  end

Recommended Posts

Ruby Deposit System, Algorithmus Problem
Rubinproblem ⑦
Ruby-Suchproblem
[Ruby] FizzBuzz-Problem
Ruby API Problem
Ruby-Algorithmus (Injizieren, Methodendefinition)
[Ruby] Problem mit der if-Anweisung
Problem bei der Kalendererstellung (lustiges Ruby-Übungsproblem)
Dieses Problem ist nüchtern schwierig ... (Ruby)