3

私はコーディングの方法を学び始めたばかりで、Python で学んでいます。ユーザーが 1 を入力するたびに ASCII アートを出力するプログラムを作成しようとしていますが、モジュールを実行しようとすると、タイトルにエラーが表示されます。

ここに私のコードがあります: どこで間違ったのですか?

yORn = int(input("Type 1 to run the program, Type 2 to Exit:  ")
while yORn = 1:
   Name = str(input("What is your name?"))
   print("      1111111111111111111111     ")
   print("      1                    1     ")
   print("      1                    1     ")
   print("      1   Hello...         1     ")
   print("      1        ", Name,"   1     ")
   print("      1                    1     ")
   print("      1                    1     ")
   print("      1111111111111111111111___  ")
   print("             11111111          | ")
   print("     ------------------------- O ")
   print("    1.............._... ... 1    ")
   print("   1...................... 1     ")
   print("  -------------------------      ")
   yORn = int(input("Type 1 to run the program, Type 2 to Exit:  ")
print ("GoodBye")
4

2 に答える 2

9

すぐに答えが得られます(括弧がありません)が、このようなことをしている場合は、別のアプローチを提案し、(三重引用符で囲まれた文字列を使用して)複数行の文字列と文字列の書式設定を使用します。

ascii_art = """
    1111111111111111111111     
    1                    1     
    1                    1     
    1   Hello...         1     
    1{name:^20}1     
    1                    1     
    1                    1     
    1111111111111111111111___  
           11111111          | 
   ------------------------- O 
   .............._... ... 1    
 1...................... 1     
-------------------------          
"""

print ascii_art.format(name='Kevin')

{name:^20}パラメーターnameを受け取り、20文字以内に中央揃えする^20ため、ブロック内にうまく収まります(コンピューターモニター?)...

出力例:

    1111111111111111111111     
    1                    1     
    1                    1     
    1   Hello...         1     
    1       Kevin        1     
    1                    1     
    1                    1     
    1111111111111111111111___  
           11111111          | 
   ------------------------- O 
   .............._... ... 1    
 1...................... 1     
-------------------------  
于 2013-01-25T17:23:07.650 に答える
6

次の 2 か所で括弧を閉じるのを忘れました。

yORn = int(input("Type 1 to run the program, Type 2 to Exit:  ")) # < 2 closing parenthesis here

また、コードの最後に。

whileステートメントにもエラーがあることに注意してください。=は割り当てです。==代わりに次のことを意味しました。

while yORn == 1:
于 2013-01-25T17:06:53.837 に答える