0
我有以下順序的六張卡片:9,8,5,10,2,6 我想編寫一個代碼,該列表將給出列表中的下一個值,並且在鍵入最後一個值時返回再次開始。從輸入中獲取下一個值
我試着用「2」(希望得到「6」的結果)這樣做,並寫道:
cards <- c(9,8,5,10,2,6)
o <- 1:6
if(karty[o] == 2) cat(karty[o+1])
但是它不工作:/任何幫助,將不勝感激
我有以下順序的六張卡片:9,8,5,10,2,6 我想編寫一個代碼,該列表將給出列表中的下一個值,並且在鍵入最後一個值時返回再次開始。從輸入中獲取下一個值
我試着用「2」(希望得到「6」的結果)這樣做,並寫道:
cards <- c(9,8,5,10,2,6)
o <- 1:6
if(karty[o] == 2) cat(karty[o+1])
但是它不工作:/任何幫助,將不勝感激
試試這個
cards_fun <- function(val){
if (val %in% cards[1:(length(cards)-1)]) ind = which(cards==val)+1 else if (val %in% cards[length(cards)]) ind = 1
cards[ind]
}
cards_fun(9)
cards_fun(6)
我真的很喜歡在上面的評論模量的建議,如果你想使用,而不是
cards_fun2 <- function(val){
o <- 1:length(cards); cards[(o%%length(cards))[cards %in% val]+1]
}
cards_fun2(9)
cards_fun2(6)
你想要一個無限循環? –
使用'cards [o %% 6]'讓它環繞。這是模數。 –