如何在條件滿足的情況下結束for循環?如果滿足條件,則結束循環
例如,我想打破一個for循環,例如,但現在我只是在for循環中打破if語句。
t = 0
x = matrix()
for (i in 1:10){
if (t == 1){
break }
t = t + 0.01
x[i] = t
}
如何在條件滿足的情況下結束for循環?如果滿足條件,則結束循環
例如,我想打破一個for循環,例如,但現在我只是在for循環中打破if語句。
t = 0
x = matrix()
for (i in 1:10){
if (t == 1){
break }
t = t + 0.01
x[i] = t
}
假設你的意思是,for (i in 1:101)
,因爲.01
不能精確二進制表示你不會得到在循環等於1
的值。
與改性for
說法,100'th值並不完全等於1:
x[100] - 1
## [1] 6.661338e-16
要突破的東西時,「大於或等於」另一個值,你可以使用>=
。也就是說,將測試修改爲if (t >= 1) { break }
。通常,您不應該使用==
來比較浮點數。
我很抱歉設置一個任意的例子是不正確的。但我認爲我的觀點很清楚。如果變量超過或等於某個值,我該如何跳出for循環 – user3141121
您的代碼已經正確,它是錯誤的示例數字。試用整數。 – JeremyS
這裏有一個答案http://stackoverflow.com/questions/6082655/r-break-for-loop – Alex