String 如何检查输入字符串是否为整数

String 如何检查输入字符串是否为整数,string,python-3.x,int,String,Python 3.x,Int,对于上面的代码,问题是,即使我的输入是整数,它也不会导致任务成功 我刚刚开始学习python。要检查输入字符串是否为数字,可以使用以下方法: if input()==int(): print('mission successful!') else: print('mission failed!') 在Python中,检查字符串是否等于数字将始终返回False。为了比较字符串和数字,可以先将字符串转换为数字或将数字转换为字符串。例如: s = input() if s.isnum

对于上面的代码,问题是,即使我的输入是整数,它也不会导致任务成功


我刚刚开始学习python。

要检查输入字符串是否为数字,可以使用以下方法:

if input()==int():
    print('mission successful!')
else:
    print('mission failed!')
在Python中,检查字符串是否等于数字将始终返回
False
。为了比较字符串和数字,可以先将字符串转换为数字或将数字转换为字符串。例如:

s = input()
if s.isnumeric() or (s.startswith('-') and s[1:].isdigit()):
    print('mission successful!')
else:
    print('mission failed!')

如果字符串不能转换为具有
int
的数字,将抛出
ValueError
。你可以这样抓住它:

>>> 1 == "1"
False
>>> str(1) == "1"
True

重要的是要知道,
input()
将不会给您一个整数,而是一个字符串,即使您输入了一个数字。第一个方法的可能副本对于负整数或浮点将失败
>>> 1 == "1"
False
>>> str(1) == "1"
True
try:
    int("asdf")
except ValueError:
    print("asdf is not an integer")