Python 打印问候语 + 输入名称的程序,特殊情况 - 嵌套条件

Python Program that Prints Greeting + Entered Name, Special Cases - Nested Conditionals

在这个程序中,我必须询问用户 What is your name?,然后通过打印出个性化的问候语来回应。

一般来说,对于名为 NAME 的人,通过打印 Hello NAME 进行响应。 例如。对于名为 Maria 的人,通过打印 Hello Maria

进行响应

但是,Amar 和 Brandy 有一条特殊规则。这两个名字应该收到独特的问候语(和笑脸),例如:

如果我的解决方案正确,机器人评分器只会将我的解决方案标记为正确 打印语句与上面指定的完全匹配。

这是我在 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 + """) 

此代码在第四行返回错误消息:

SyntaxError: invalid syntax (<string>, line 4)

我如何改进此代码,以便没有错误并且程序 运行 符合预期?

EDIT 我修复了第 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: name 'raw_input' is not defined"

如何定义'raw_input'?我不是通过在对话框中输入名称来定义它吗? (没有出现对话框)

EDIT 2 了解到 raw_input 与 Python 的版本 3 不兼容 - 将 Python 编辑器切换到版本 2。代码现在适用于名称 "Amar" 和 "Brandy" 但不适用于任何其他名称 - 我们仍然得到 "Hello + " 而不是 "Hello Steven"。知道为什么会这样吗?

编辑 3 让程序达到我想要的 运行 的关键是使用嵌套条件 - 我需要在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,则根据其独特条件进行打印。

if "" = Amar:

尝试将名为 Amar 的变量(不存在)分配给空字符串(无意义)。

注意 = 赋值运算符和 == 相等运算符。

您想检查 Name 是否等于 "Amar":

if Name == 'Amar':

if "" = Amar:

首先,检查相等性时,使用==而不是=

其次,为什么要检查空字符串 ""?请改用 Name

第三,比较值本身必须用引号引起来:"Amar" 而不是 Amar.