我正在尝试编写一个将字符串转换为 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()) 的原因。提前致谢,祝您有美好的一天!
答案 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))