我需要帮助修复我的代码。我不知道它有什么问题,但它在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变量()做了什么?
答案 0 :(得分:1)
#{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的基本语法。
之后,您可以学习如何利用该语言提供的更强大的功能。