1

Pythonの学習を始めたばかりです。私が直面している問題は、関数の外で raw_input() を使用するときはいつでも正常に動作しますが、このような関数内で raw_input 関数を使用するときはいつでもエラーが発生することです。

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

それは私にインデントエラーを与えます

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 ホワイトスペースの詳細については、こちらを参照してください。概要を説明します。

Python では、プログラムを実行すると、いわゆるインタープリターを通過します。これは、理解できるコードからコンピューターが理解できるコードに変換します。Python の場合、このインタープリターはコードをインデントする必要があるため、変換方法を認識します。ifelsefor functionまたは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 に答える