-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)
我如何确保我得到的答案是一个字符串?
你在找这个:
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)