-1
while True:
    x = raw_input()
    if x =="personal information": 
         print' Edward , Height: 5,10 , EYES: brown , STATE: IL TOWN:  , SS:'
    elif x =="journal":
         name_of_file = raw_input("What is the name of the file: ")
         completeName = "C:\\python\\" + name_of_file + ".txt"
         file1 = open(completeName , "w")
         toFile = raw_input("Write what you want into the field")
         file1.write(toFile)
         file1.close()
else:
 break 

スクリプトは、ブレークがループの外側にあるというエラーを表示し続けます。インデントが間違っていますか?

4

2 に答える 2

5

はい、あなたの投稿を見てください。あなたのelseおそらくは、ifステートメントのインデントレベルに合わせることを意図しています。

elseステートメントのwhileステートメントは、まったく異なることを行います。

于 2012-07-30T22:14:12.700 に答える
1

いいえ、インデントエラーではありません。通常、ループから「抜け出し」ます。whileステートメントのelse部分は、ループ構造ではありません。あなたがする場合、あなたは同じエラーを見つけるでしょう

In [12]: if True:
   ....:    break

SyntaxError: 'break' outside loop
于 2012-07-30T22:19:20.613 に答える