[英]How can I make a program determine whether or not the input is an int in python?
[英]Python determine whether variable is number when can be string or int?
我有传入的变量,可以是传入的字符串或整数。例如,它可以是'123'或123.此外,它可能是一个像'N / A'的字符串,在这种情况下,我想用它替换它0。
我一直试图做这样的事情:
our_value = int(our_value) if our_value.isdigit() else 0
问题是当our_value是一个整数时,它没有方法isdigit。 如果它是一个字符串,这将工作正常。
如何处理它可以是整数或字符串的两种情况?
这也可以
try:
our_value = int(our_value)
except ValueError:
our_value = 0
为避免双重转换,可以使用try
/ except
结构,例如:
try:
our_value = int(our_value)
except ValueError:
our_value = 0
在这种情况下,我们尝试将值强制转换为整数。 如果我们已经有一个整数,或者可以解释为整数的字符串,这将是成功的。
其他字符串将属于我们的except
情况,因此设置为0。
如果您不想编写任何异常,可以使用以下代码:
our_value = '123' # It can be 'N/A' or 123
if type(our_value ) is str:
if our_value .isdigit():
our_value = int(our_value)
else:
our_value = 0
print(our_value)
如果类型是字符串及其数字,那么我们可以应用int()函数。 如果它是int而不是数字,则它是'N / A'并转换为0.如果值为int,则不需要任何转换。
这将有效:
our_value = int(our_value) if str(our_value).isdigit() else 0
如果our_value
将是整数,它将首先转换为字符串,如果它只包含数字,那么它将转换回整数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.