Python 2.7.8 期待一个缩进块,请帮忙

1 投票
2 回答
598 浏览
提问于 2025-04-18 18:41

大家好,当我添加了“while true”这个语句后,它开始给我提示

IndentationError: expected an indented block

你们知道怎么解决这个问题吗?这让我很烦恼 :/

import urllib
import urllib2

count = 0
while True:

var = raw_input("Please enter a username: ")

print "you entered", var
print "now starting"

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0',

'Content-type': 'application/x-www-form-urlencoded',

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
}

url = "http://example.com"

params = urllib.urlencode({'strUsername': var})

req = urllib2.Request(url, params)

count  + 1

req.addheaders = [(headers)]

page = urllib2.urlopen(req).read()

if page.find("success"):
    print "Username Checked:", var, count

2 个回答

0

这个错误的意思就是字面上说的那样。

在Python中,缩进是很重要的。Python通过缩进来判断哪些语句是由while True:控制的。也就是说,跟while True:相比,受它控制的语句要向右缩进一个层级。比如,下面这个例子:

while True:
    print('still going')
    print('and going')
print('done')

…会不停地打印still goingand going,而永远不会打印done,因为前面两个语句是while循环的一部分(因为它们是缩进的),而第三个语句就不是(因为它回到了左边的边界,没有缩进)。

所以,你需要把所有想要放在循环里的代码向右移动4个空格。

0

while循环里面要缩进你的代码,至少在while循环之后的第一行代码要缩进。

while True:    
    var = raw_input("Please enter a username: ")    
    print "you entered", var
    print "now starting
    # all code that needs to be in the loop goes here

# code here at this level is outside your loop

撰写回答