2014-10-20 54 views
-4

我是新来Python,并为计划的以下部分:预计缩进块在Python

while g != s and t < 8: 
g = input("What is your guess? ") 
if g < s: 
    print ("Too low...") 
    elif g > s: 
     print ("Too high...") 
     t = t + 1 

我得到的错误:

expected indented block

这是为什么?而且,这个问题怎么解决呢?

谢谢。

+3

该行本身不是问题。请向我们展示周围的代码。一条或多条线条需要缩进。 – iCodez 2014-10-20 18:07:21

+0

@iCodez感谢您的回复。我添加了环境 – productive 2014-10-20 18:13:33

回答

0

蟒蛇是基于空白...你需要在一个块缩进东西(在其他语言中,他们使用大括号)

while g != s and t < 8: #indented 0 spaces 
    #every thing below is part of this block so it needs to be indented 
    g = input("What is your guess? ") #indented 4 
    if g < s: #indented 4 spaces 
     #this happens when its too low (one line indented) 
     print ("Too low...") #indented 8 spaces 
    elif g > s: #indented 4 spaces 
     #this happens when its too high(one line indented) 
     print ("Too high...") #indented 8 spaces 
    # this always happens for every iteration of the loop 
    t = t + 1 #indented 4 spaces 
+0

感谢您的回复。对不起,我是'Python'的新手,你能稍微澄清一点。我无法注意到您的解决方案中的差异 – productive 2014-10-20 18:19:24

+0

我仍然有相同的错误。这只是“新线路”吗?在Python中'indent'是什么意思?有没有你推荐的编辑器会自动执行此操作?谢谢 – productive 2014-10-20 18:24:03

+1

不要混合制表符和空格...使用任何显示空格/制表符的编辑器...缩进意味着缩进级别(多少缩进必须排列)...我编辑它以明确说明它有多少空格 – 2014-10-20 18:27:25

0

(如Joran比斯利说的)的问题可能是,一些的行是用空格缩进的,而其他的则是用制表符缩进的。还有一种可能性,即一些行已经缩进巨魔。

为了确保在编辑器中打开'显示空白字符',您可以看到哪些行使用制表符来缩进,哪些行使用空格进行缩进。

然后,要解决这个问题,选择一个,无论是制表符还是空格,用其替换另一个,并坚持使用您选择的那个(最好是终身使用,或者直到您必须与开发人员一起使用相反的风格)。

Python不介意你使用哪个(制表符或空格),只是你选择一个并在源文件期间坚持它。

this line is not indented 
    this line is indented