Я хотел бы напечатать песню bottle (см. https://en.wikipedia.org/wiki/Ten_Green_Bottles).
Мой код l oop выглядит так:
number <- c("Ten", "Nine", "Eight", "Seven", "Six", "Five", "Four", "Three", "Two")
and_if <- ("And if one green bottle should accidentally fall,")
bottles <- function() {
for (num in number) {
cat(str_c(rep(num, 2), " green bottles hanging on the wall", collapse = "\n"), "\n", and_if, "\n", "There'll be", number[2], "green bottles hanging on the wall", "\n", "\n")
if (num == "Two") {
cat(str_c(rep("One green bottle hanging on the wall", 2), collapse = "\n"), "\n", and_if, "\n", "There'll be no green bottles hanging on the wall", "\n", "\n")
}
}
}
bottles()
И результат такой:
Ten green bottles hanging on the wall
Ten green bottles hanging on the wall
And if one green bottle should accidentially fall,
There'll be Nine green bottles hanging on the wall
Nine green bottles hanging on the wall
Nine green bottles hanging on the wall
And if one green bottle should accidentially fall,
There'll be Nine green bottles hanging on the wall
Eight green bottles hanging on the wall
Eight green bottles hanging on the wall
And if one green bottle should accidentially fall,
There'll be Nine green bottles hanging on the wall
... (и так далее) .. .
One green bottle hanging on the wall
One green bottle hanging on the wall
and if one green bottle should accidentally fall,
There'll be no green bottles hanging on the wall
Итак, на данный момент в последней строке каждого абзаца написано «На стене будет висеть девять зеленых бутылок» (за исключением одного пункта bottle). То, что я хотел бы иметь следующий номер из списка, а не всегда "Девять". Я думаю, вы понимаете, о чем я.
Это не кажется слишком сложным, но я просто не смог найти ответ .. Можете ли вы помочь мне? Спасибо!