非常基本的问题。 我们有代码:
a = input("how old are you")
if a == string:
do this
if a == integer (a != string):
do that
显然它不会那样工作。但是最简单的方法是什么呢。 谢谢你提前得到任何答案。
我们也可以说:
if string in a:
do this
答案 0 :(得分:15)
您可以使用str.isdigit
和str.isalpha
:
if a.isalpha():
#do something
elif a.isdigit():
#do something
str.isdigit
上的帮助:
>>> print str.isdigit.__doc__
S.isdigit() -> bool
Return True if all characters in S are digits
and there is at least one character in S, False otherwise.
str.isalpha
上的帮助:
>>> print str.isalpha.__doc__
S.isalpha() -> bool
Return True if all characters in S are alphabetic
and there is at least one character in S, False otherwise.
答案 1 :(得分:3)
您可以使用a.isalpha(),a.isdigit(),a.isalnum()来检查a是否分别由字母,数字或数字和字母的组合组成。
if a.isalpha(): # a is made up of only letters
do this
if a.isdigit(): # a is made up of only numbers
do this
if a.isalnum(): # a is made up numbers and letters
do this
Python docs将更详细地告诉您可以调用字符串的方法。
答案 2 :(得分:0)
看到你在tour示例中使用input(),你应该知道输入总是给你一个字符串。并且您需要将其转换为正确的类型,EG:Int或Float。
def isint(input):
return input.isdigit()
def isfloat(input):
try:
return float(input) != None;
except ValueError:
return False;
def isstr(input):
if not isint(input) and not isfloat(input):
return True
return False
print isint("3.14")
print isfloat("3.14")
print isstr("3.14")