在函数中使用raw_input()的Python缩进错误

时间:2013-10-16 21:24:27

标签: python-2.7 raw-input

我刚开始学习Python。我面临的问题是: 每当我在函数外部使用raw_input()时它工作正常,但每当我使用时 像这样的函数里面的raw_input函数给我一个错误。

def getinput(cost):
cost=raw_input('Enter a number ')

它给我一个缩进错误

2 个答案:

答案 0 :(得分:3)

此错误与raw_input无关。但是,您可能希望阅读indentation in Python。许多其他语言使用大括号(例如{})来显示程序的开头和结尾,或beginend等关键字。相比之下,在Python中,您必须缩进代码,如下所示:

def getinput(cost): 
    cost = raw_input('Enter a number ')

所以如果你这样做没有缩进,例如

def getinput(cost): 
cost = raw_input('Enter a number ')

...... Python会给你一个错误。

答案 1 :(得分:2)

在Python中,“空白”有所不同。缩进级别很重要,如果不适当缩进,代码将会出错。您可以阅读有关Python Whitespace here的更多信息,但我会给您一个摘要。

在Python中,当您运行程序时,它会通过所谓的Interpreter传递,它将您可以理解的代码转换为您的计算机可以理解的代码。对于Python,这个解释器需要缩进代码,因此它知道如何转换它。每次执行ifelsefor functionclass(以及其他)时,您都需要增加缩进。

def getinput(cost):
    cost = raw_input('Enter a number')

以上情况应该有效,而以下情况不会:

def getinput(cost):
cost = raw_input('Enter a number')

注意第一个示例是如何缩进的。祝学习Python好运!