1

I have just started learning Python. The problem I am facing is: whenever I use raw_input() outside a function it works fine, but whenever I use raw_input function inside a function like this it gives me an error.

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

it gives me an Indentation error

4

2 回答 2

3

此错误与raw_input. 但是,您可能想了解Python 中的缩进。许多其他语言使用花括号,例如{and}来显示程序的开头和结尾,或者使用 and 之类的begin关键字end。相比之下,在 Python 中,您必须缩进代码,如下所示:

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

因此,如果您在没有缩进的情况下执行此操作,例如

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

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

于 2013-10-16T21:28:42.927 回答
2

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

在 Python 中,当你运行你的程序时,它通过所谓的解释器传递,它将你可以理解的代码转换成你的计算机可以理解的代码。对于 Python,这个解释器需要你的代码缩进,所以它知道如何转换它。每次执行if, else, for functionor时class,都需要增加缩进。

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

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

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

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

于 2013-10-16T21:26:38.493 回答