2015-02-10 193 views
-2

我不太确定while while循环是否创建了无限循环。无限循环in while

def read_m_by_rating(first_year,last_year,top_number): 
current_index=1 
final_list=[] 
while current_index <=top_number: 
    url="http://www.imdb.com/search/title?at=0&sort=user_rating&start="+str(current_index)+"&title_type=feature&year=2005,2014" 
    print url 
    if top_number==55: 
     lis=read_m_from_url(url,top_number-current_index+1) 
    else: 
    lis=read_m_from_url(url,50) 
final_list=lis 
current_index +=50 
return final_list 
read_m_by_rating(2005,2015,55) 
+0

从回滚编辑:_I修复了我以前有的缩进问题,它现在有效._ – 2015-02-10 06:32:03

回答

2

这是你的循环:

while current_index <=top_number: 
    url="http://www.imdb.com/search/title?at=0&sort=user_rating&start="+str(current_index)+"&title_type=feature&year=2005,2014" 
    print url 
    if top_number==55: 
     lis=read_m_from_url(url,top_number-current_index+1) 
    else: 
    lis=read_m_from_url(url,50) 

这里是一个循环,其修改current_index中的语句:

  

这里是一个循环,其修改top_number中的语句:

  

请注意,没有行可以修改这些变量中的任何一个。也许应该有?

+0

@ Bill Lynch,当前索引在每次迭代中增加50,top_number为55. – Alph 2015-02-10 04:54:33

+3

@ Phil2014:代码你已经非常明确地表示不这样做。请注意,python使用缩进来表示一段代码的开始和结束时间。 'current_index + = 50'这一行与'current_index <= top_number:'具有相同的缩进,所以它显然不在循环内部。也许你在你的问题中发布的代码需要修复,因此它看起来像你实际运行的代码? – 2015-02-10 04:56:29