2

私はコードアカデミーを通じてPythonを学んでいます。ユーザー入力を出力する if else ステートメントを作成するように求められましたが、入力がない場合は「空」と出力されます。私はチュートリアルに合格しましたが、ユーザー入力があると、ユーザー入力と「空」の両方が出力されます。

ここに私のコードがあります:

print "Welcome to the English to Pig Latin translator!"

original = raw_input("what is your name?")
length = len("original")

if length > 0:
    print original

else: length < 0
print "empty"

print under else はインデントされていないことに注意してください。インデントする必要があると思っていましたが、インデントするとエラーが発生します。

4

6 に答える 6

4

length < 0コメントを意図したものですか?コメント文字が必要です#

else: # length < 0
    print "empty"

とにかく間違っている、そうあるべきだlength <= 0

elseコメント文字がないと、句として使用するステートメントとして解釈されていました。length < 0何もしていないブール値の結果を生成するだけなので、エラーは発生しませんでしたが、 else.

于 2013-09-06T17:09:52.097 に答える
2
else: length < 0
print "empty"

する必要があります

elif length == 0:
   print "empty"

Python には重要な空白があり、同じようにインデントされているものは同じスコープにあります。

于 2013-09-06T17:08:09.183 に答える
1

else の後に aa ステートメントがあります。

else: length < 0
print "empty"

たぶん、(前の条件が失敗した場合のelif後に別の条件をチェックする別の方法です。)ifif

elif length <= 0:

または単なるプレーン

else:
   print "empty"

とにかくゼロを超えることはありません==。ゼロの条件を設定することができ、それは機能します。

elif length == 0:

これはおそらく、別の条件をチェックする必要がない最善の方法です。

if length > 0:
   print original
else: 
   print "empty"

また、単なる補足事項length = len("original")

変数であるため、元の周りに引用符があるとは思われません:)。変数内の実際のものではなく、文字列「オリジナル」を取得するだけです。

最終結果..

print "Welcome to the English to Pig Latin translator!"

original = raw_input("what is your name?")
length = len(original)

if length > 0:
    print original
else: 
    print "empty"
于 2013-09-06T17:09:27.647 に答える
1

まず、そうではありませlen("original")len(original)。引用符を使用すると、original という名前の変数ではなく、"original" という定数値になります。

第二に、文字列の長さをチェックする代わりに、これを使用する必要があります

if original:
    # Type here what happens if the string is not empty
else:
    # Here what happens if the string is empty

Python 標準では、文字列を含むすべてのコレクションはfalse、それが空 (別名、要素が含まれていない) で、要素が含まれている場合に等しくなりtrueます。

于 2013-09-06T17:13:54.083 に答える
0

リストにアイテムがあるかどうかを確認するには、次のようにします。

if List_name:
    {code here}
    ...

したがって、コードは次のようになります。

print "Welcome to the English to Pig Latin translator!"
original = raw_input("what is your name?")
if original:
    print original
else:
    print "Empty"

それはとても簡単です:D

于 2014-04-30T07:11:15.963 に答える