R中的for循环中断问题

时间:2018-07-04 21:21:39

标签: r for-loop break

我目前遇到R的问题,没有遵循我的break命令。

这是我的两个输入内容:

  1. 元素不应大于16,但是它将返回两个大于16的元素。

    for (ndx in calc:length(b)) {
      print(calc) 
      if(calc >16) {break}
    
  2. 对于这一点,我不应在循环中获取大于50和<6的元素,但无论如何都应获取它们:

    for(ndx in a){
      print (a^2)
      if (a>50 && a<6) {next}}
    

有人可以告诉我我在做什么错吗?

2 个答案:

答案 0 :(得分:1)

对于第一个,用更通用的名称替换变量(我假设class Super: def __init__(self,name): print("Inside __init__") self.name=name print("Name is:",name) class Sub(Super): def __init__(self,name): #Super.__init__(self, name) #One way to fix this super(Sub, self).__init__(name) #Another way to fix this a = Sub("Harry") a.name 是整数,否则Python-3.6.5运算符无论如何都不能工作)

    push ecx
    push edx
    mov ecx, 1
    mov edx, 3
    sub ecx, edx
    mov ebx, ecx
    pop edx
    pop ecx

请注意, calc的值在循环期间不会改变(索引变量:从未在循环中使用,并且循环中没有变量被修改,因此什么都不会因循环体而发生变化(索引变量除外)。因此,如果for (i in j:k) { print(j) if (j>16) break } 将只打印一次(假设j至少为1)。否则,循环将永不中断,i将被打印j>16次。

也许

length(j:k)

是您的初衷吗?

答案 1 :(得分:0)

首先执行无条件print,然后测试条件。确定要在打印之前先测试条件吗?