number = int(raw_input("Enter a number :"))
div = range(0, number)
list = []
while div <= number:
if number % div == 0:
list.append(div)
div =+ 1
print list
这是我为这个练习编写的代码: http://www.practicepython.org/exercise/2014/02/26/04-divisors.html 我是新的编程,所以我不知道我的代码有什么问题,但它没有给出任何输出。你知道吗
以下是您需要的代码:
如果您使用的是python2.7,请使用
input
而不是raw_input
我想这个答案很简单,从投票结果来看,人们也这么认为。然而。。。只有通过提问才能学习!你知道吗
您所建议的代码中有三个基本错误,以及一些使其更具python风格的方法。你知道吗
number
)内的数字。你知道吗list
被多次打印,而不是只在while
循环结束时打印。你知道吗list
作为变量,因为它是Python关键字。你知道吗那么,为了让它更具python风格,我的建议是:
请注意,
raw_input
在python3.x中已经不存在了。还请注意,通过这种方式,我们避免了while
循环,因为经验很容易导致错误。取而代之的是自动循环通过range(1,number)
生成的列表中的条目。你知道吗最后是关于
range
的注释,但也可能是关于语义的。我认为number
也是number
的除数。为此,我使用了range(1,number+1)
。因为,例如range(5)
返回一个到5
:[0,1,2,3,4]
的列表。也就是说,它不包括5
。你知道吗相关问题 更多 >
编程相关推荐