2017-04-01 53 views
0

有效的名称我想这个代码:如何检查是否输入是在python

name = str(input("What is your name? ")) 
if not name.isalpha(): 
     print("Please enter a valid name.") 
     continue 

但是当我输入一个名称用空格或全名,我得到了“请输入有效的名称。 “语句,即使我只输入了一个没有任何其他类型数据的名字,例如int,float。

空间是否算作字符串? 如果不是,我应该如何更改我的代码,以便接受带空格的全名但不接受数字?

谢谢。

+0

使用正expresions – Gerardo

+0

http://stackoverflow.com/questions/19859282/check-if-a-string-contains-a-number – chbchb55

回答

0

看起来你只是想检查每个字符是空格还是字母。你可以通过阅读每封信来手动完成。

name = str(input("What is your name? ")) 
if not all(x.isalpha or x == "" for x in name): 
    print("Please enter a valid name.") 
else: 
    print(name) 
+0

我不仅要检查,如果每个字符是一个空间或信。我想检查它是否没有数字,但是有一个有效的名字,可能包含空格,因为我稍后会在程序中使用这些数据。 – BjCuizon

+0

@BjCuizon。你需要用一个有效的名字来确切地说明你的意思。没有这些信息,你的问题是无法回答的。 – merlin2011