字符串转换为 int 没有错误

时间:2021-04-14 08:29:42

标签: python string integer

我正在尝试编写一个将字符串转换为 int 并且在字符串为字母时不会出错的代码。我的想法是检查该字符串是否是数字,如果是,那么它会做一些事情。如果不是,它将打印一些内容并返回到函数的开头。 示例:

i = ()
def converter(i):
    i = input()
    if isinstance(i, int) == True:
        print('i is an integer')
    else:
        print('i is not an integer')
        converter(i)
#doesn't work :(

或者类似的东西。这个想法是让程序在输入字符串时不会崩溃,这就是我不能使用 i = int(input()) 的原因。提前致谢,祝您有美好的一天!

3 个答案:

答案 0 :(得分:1)

我会更像这样:

def converter(your_string):
    try:
        the_integer = int(your_string)
        print(the_integer)
    except ValueError:
        print("Catch Your Error, So Not An Error")

答案 1 :(得分:0)

你可以简单地使用 isdigit() 来检查字符串中的整数

a=input()
for i in range(len(a)):
    if a[i].isdigit():
        #integer is present
    else:
        #notpresent

答案 2 :(得分:0)

您可以使用正则表达式从字符串中过滤掉非数字字符:

>>> import re
>>> re.sub(r"\D", "", "1324l1kj234klj1235")
'132412341235'

你的脚本可能是

import re

def converter(string):
    return re.sub(r"\D", "", string)

i = input()
print(converter(i))
相关问题