Python:输入,原始输入错误

时间:2016-08-29 16:46:08

标签: python

我正在尝试一个简单的Hello世界,这是我的代码 -

def hello(name=''):
    if len(name) == 0 :
        return "Hello, World!"
    else :
        return "Hello, %s!" %(name)
my_name = raw_input()
x = hello(my_name)
print (x)

如果我使用raw_input,此代码可以正常工作,但如果我使用输入,则会出错。 新的python不支持raw_input。 我也想知道为什么我在我的函数中定义参数如下 -

def hello(name='')

为什么我需要使用''名称后

我真的很困惑,请帮忙。如果您有任何改进我的计划的建议,我们表示赞赏

1 个答案:

答案 0 :(得分:0)

如果您使用input传递字符串,则还必须提及双引号",例如"My Name"

而在raw_input中,默认情况下,所有输入的值都被视为字符串

<强>解释

# Example of "input()"
>>> my_name = input("Enter Name: ")
Enter Name: "My Name"  
# Passing `"` with the input, else it will raise NameError Exception
>>> my_name
'My Name'   <--- value is string

# Example of "raw_input()"
>>> my_name = raw_input("Enter Name: ")
Enter Name: My Name
# Not passing any `"`
>>> my_name
'My name'    <--- still value is string