【问题标题】:How do I resolve a Python Syntax error print pointing to t?如何解决指向 t 的 Python 语法错误打印?
【发布时间】:2020-06-04 19:35:41
【问题描述】:

我正在通过 MIT 的 EdX 课程学习 Python。我尝试了以下操作,并在第 3 行中得到 print 指向 t 的语法错误。我做错了什么?

 x=int(input("Enter an integer")

if x/2==0

   print('') 

   print("Even")

 else 

    print('')

    print("Odd"))

【问题讨论】:

  • 你的缩进搞砸了,你在ifelse 行上缺少:

标签: python printing syntax


【解决方案1】:

一些建议,您可能需要 2 的模数而不是除以 2。此外,您可以在不使用额外的 print 语句的情况下插入新行(实际上,由于奇怪的 Python 语法,您不需要在 if/else 块之后有一个冒号)。

x=int(input("Enter an integer: "))

if x%2==0:
    print("\nEven")
else:
    print("\nOdd")

【讨论】:

    【解决方案2】:

    首先,您在这一行漏掉了一个括号:

    x=int(input("Enter an integer")
    #                              ^ add a ) here
    

    其次,在编写 if 语句时,应添加一个条件,后跟一个冒号。冒号表示您正在定义一个代码块。您应该缩进 if 块中的行。 Python 对缩进很敏感。

    if x/2==0
    print('')
    
    print("Even")
    

    替换为:

    if x/2==0:
    
        print('')
    
        print("Even")
    

    同样的规则也适用于 else 语句。

    【讨论】:

      【解决方案3】:

      谢谢,我发现我错过了一个括号和一两个冒号!这是有效的代码:

      x=int(input("Enter an integer"))
      if x/2==0:
         print('') 
         print("Even")
      else: 
          print('')
          print("Odd")
      
      
      Enter an integer5
      
      Odd
      

      【讨论】:

      • 您可能需要考虑它是否“有效”或是否“运行”。它运行,但没有按预期“工作”。
      • 您好安德鲁,感谢您的评论。你的意思是说代码可以运行但不能执行预期的结果?谢谢
      • 是的,如果你想确定一个数字是“偶数”还是“奇数”,那么你想检查除以 2 后是否有任何“余数”。在编程中,余数是通常由“百分比”运算符 % 给出。因此,如果 x%2==0 可以找到偶数。学究式注意:Python 实际上使用 % 运算符计算模数,使用负数时会有所不同,但其他语言使用 % 运算符给出余数;因此,如果您在 % 操作中使用负数,请检查您的语言的实现。
      • 谢谢安德鲁,我还有很多东西要学!感谢您的耐心和详细的解释。
      猜你喜欢
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 2016-05-11
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      相关资源
      最近更新 更多