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

您忘记在两个地方关闭括号:

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 回答