循环中嵌套的if和else语句

时间:2015-10-05 20:50:25

标签: python

有人可以向我解释为什么这个程序不能打印数字并正确执行?我尝试过使用continue和break但似乎没什么用。

在这里输入代码

n=60
m=2
for int in range(60):
        if n/m==int:
                m=2
                n=n+1
        else:
                while m<=n and n/m==float:
                         m=m+1
                         if n==m:
                                 print(n)

2 个答案:

答案 0 :(得分:0)

以下是您的代码,其中包含上述评论者提及的一些更改:

n = 60
m = 2
for value in range(60):  # Don't use the word `int`!
    if n/m == value:
        m = 2
        n += 1
    else:
        while m <= n and n/m == something:  # `something` is undefined!
            m += 1
            if n == m:
                print(n)

主要问题(此时)是变量something(您称之为float)并不存在。

答案 1 :(得分:0)

不确定你要做什么。但要使它在语法上正确。

  1. 对于变量名,不要使用内置类型,如int等。
  2. 要检查类型,您应该使用isinstance
  3. 如果从__future__ import division
  4. 使用python 2

    代码:

     from __future__ import division
        n=60
        m=2
        for i in range(60):
                if isinstance(n/m,int):
                        m=2
                        n=n+1
                else:
                        while m<=n and isinstance(n/m,float):
                                m=m+1
                                if n==m:
                                        print(n)