我如何只在Python中想要的数据类型中做出答案?

-1 python

def name_hi(x):
    if type(x)!= <type 'str'> :
        print "Invaild answer,Try again"
    else:
        print "Hello"+ x
name_hi(raw_input("what's your name?"))
Run Code Online (Sandbox Code Playgroud)

我如何确保我得到的答案是一个字符串?

Tig*_*kT3 6

你在找这个:

if type(x) == str:
Run Code Online (Sandbox Code Playgroud)

或者,更好的是:

if isinstance(x, str):
Run Code Online (Sandbox Code Playgroud)

也就是说,raw_input()只返回一个字符串.它不会返回任何其他内容.

由于您要检查字符串是否只包含字母,因此您应该调用isalpha():

if x.isalpha():
Run Code Online (Sandbox Code Playgroud)

要整合:

def name_hi(x):
    if x.isalpha():
        print "Hello, " + x + "."
    else:
        print "Invalid answer; try again."

name_hi(raw_input("What's your name?"))
Run Code Online (Sandbox Code Playgroud)