如何修复此批处理文件以在空格中的文本文件中写入?

时间:2016-06-15 20:05:41

标签: python syntax

我需要帮助修复我的代码。我不知道它有什么问题,但它在else:命令上给我一个无效的语法错误,请尽可能简单,不要太复杂,我是新手。

def myName(my_name):        #What does this do?
    myName = input("What is my name? ")
    if(myName == #{my_name}):
        print ("Correct!")
    else:             #Gives invalid syntax error!
        print ("In-Correct!")

myName(Jacob)

哦,def变量()做了什么?

3 个答案:

答案 0 :(得分:1)

  • 您的代码是python脚本,而不是批处理文件。
  • #{my_name}在Python中没有意义(来自Ruby)
  • def variable()定义了一个名为variable
  • 的函数

#{my_name}替换为my_name语句中的if,将myName(Jacob)替换为myName("Jacob"),您的代码就可以使用。

答案 1 :(得分:0)

这对我有用:

    def myName(my_name):        #What does this do?
      myName = input("What is my name? ")
      if myName == my_name:
        print "Correct!"
      else:             #Gives invalid syntax error!
        print "In-Correct!"
    myName('Jacob')

我之前从未做过Python,但在http://www.tutorialspoint.com/execute_python_online.php尝试了这个非常方便!

您必须将输入值放在引号中,例如。 "雅各"否则它会将其视为变量。

答案 2 :(得分:0)

您走在正确的轨道上,但就像警告所说的那样,语法无效。

首先,在python中,if条件的结尾用冒号(:)

表示

其次,hashtags(井号等)总是被解释为单行注释的开头。

最后,使用<svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="svg2" viewBox="0 0 744 1052" height="297mm" width="210mm"> <g id="layer1"> <path id="path4150" d="m 70,77 0,45" style="fill:none;fill-rule:evenodd;stroke:#ffdb00;stroke-width:6;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1" /> <path id="path4152" d="m 85,77 0,45" style="fill:none;fill-rule:evenodd;stroke:#ffdb00;stroke-width:6;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;" /> <path id="path4150-6" d="m 58,77 0,45" style="fill:none;fill-rule:evenodd;stroke:#ffdb00;stroke-width:6;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1" /> <text id="text4169" y="113.27509" x="101.77287" style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve"><tspan y="113.27509" x="101.77287" id="tspan4171">TEST TEXT</tspan></text> </g> </svg>关键字表示您正在创建一个函数。

所以在你的第一行

def

该行忽略hashtag之后的所有内容。解释器中的哪一个意味着缺少关闭的parenthesi,缺少冒号,并且缺少相等测试的另一端。

另外,为了获得正确的结果,您需要删除围绕&#34; my_name&#34;的大括号。否则它将永远是假的,因为你基本上将使用名为my_name

的未定义元素创建一个字典

行为不正确:

if(myName == #{my_Name}):

纠正行为:

>>> def myName(my_name):        #What does this do?
        myName = input("What is my name? ")
        if(myName == {my_name}):
            print ("Correct!")
        else:             #Gives invalid syntax error!
            print ("In-Correct!")


>>> bob = "bob"
>>> myName(bob)
What is my name? bob
In-Correct!

由于您刚刚开始,我建议您先学习Python的基本语法。

Code Academy: Python Syntax

TutorialsPoint: Python Syntax

之后,您可以学习如何利用该语言提供的更强大的功能。