在此计划中,我必须询问用户What is your name?
,然后打印出个性化的问候语进行回复。
通常,对于名为NAME
的人,请通过打印Hello NAME
进行回复。
例如。对于名为Maria
的人,请通过打印Hello Maria
然而,Amar和Brandy有一个特殊的规则。这两个名字应该收到独特的问候(和笑脸),例如:
Hi Amar :)
Ahoy Brandy :D
如果我的话,机器人评分员只会标记我的解决方案 print语句完全符合上面指定的内容。
以下是我在Live Python Editor
中尝试过的内容Name = ""
# Prompt user for user-defined information
Name = raw_input('What is your Name? ')
if "" = Amar:
print ("Hi Amar :)")
if "" = Brandy:
print ("Ahoy Brandy :D")
else:
print ("Hello + """)
此代码在第4行返回错误消息:
SyntaxError: invalid syntax (<string>, line 4)
如何改进此代码以便没有错误并且程序按预期运行?
编辑我修正了第4行和第6行的错误,所以现在我的代码看起来像这样:
Name = ""
# Prompt user for user-defined information
Name = raw_input('What is your Name? ')
if Name == 'Amar':
print ("Hi Amar :)")
if Name == 'Brandy':
print ("Ahoy Brandy :D")
else:
print ("Hello + """)
但我仍然收到错误消息:
“NameError:名称'raw_input'未定义”
如何定义'raw_input'?我不是通过在对话框中输入名称来定义它吗? (没有显示对话框)
编辑2 据悉,raw_input与Python版本3不兼容 - 将Python编辑器转换为版本2.该代码现在适用于名称“Amar”和“Brandy”但不适用于任何其他名称 - 我们仍然得到“Hello +”而不是“Hello Steven”。知道为什么会这样吗?
编辑3 让程序按照我想要的方式运行的关键是使用嵌套条件 - 我需要在if语句中放置一个if语句,以确保两个条件都是满足。
name = input('What is your name? ')
if name != 'Amar':
if name != 'Brandy':
print("Hello " + name)
if name == 'Amar':
print("Hi Amar :)")
if name == 'Brandy':
print("Ahoy Brandy :D")
这表示如果输入的名称不是Amar或Brandy,请打印“Hello”+名称。如果输入的名称是Amar或Brandy,则根据其独特条件进行打印。
答案 0 :(得分:2)
if "" = Amar:
尝试将名为Amar
的变量(不存在)分配给空字符串(无意义)。
注意=
分配运算符和==
相等运算符。
您想检查Name
是否等于&#34; Amar&#34;:
if Name == 'Amar':
答案 1 :(得分:0)
if "" = Amar:
首先,在检查相等性时,请使用==
代替=
。
其次,为什么要检查空白字符串""
?请改用Name
。
第三,比较值必须使用引号:"Amar"
而不是Amar
。