编写一个游戏,该游戏每次将seq(1:31)的数字除以7或包含7便会打印“繁荣”。到目前为止一切顺利:
num_turns=c(1:31)
for(i in seq(1,31)){
if(i%%7==0 || "7" %in% i){
print("boom")
}else{
print(i)
}
}
然后,im要求以seq(1:55)重复游戏,但条件是:有4个玩家,IM玩家#3,并且只打印我的回合。 这些是我被要求创建的变量:
total_players=4
player_num=3
turns=55
有人建议如何编码吗?
答案 0 :(得分:0)
num_turns=c(1:55)
for(i in seq(1,55)){
if(i %% 4 == 3 &(i%%7==0 || "7" %in% i)){
print("boom")
}else{
print(i)
}
}
答案 1 :(得分:0)
这将解决问题的第一部分:
for (i in 1:31) {
if (i %% 7==0 || grepl("7", i)) {
print("boom")
} else {
print(i)
}
}
这是矢量化版本:
i <- 1:31
ifelse(i %% 7==0 | grepl("7", i), "boom", i)
对于问题的第二部分:
total_players <- 4
player_num <- 3
turns <- 55
i <- 1:turns
allT <- ifelse(i %% 7==0 | grepl("7", i), "boom", i)
myT <- allT[seq(player_num, turns, total_players)]