题目:写一个方法,检查字符串是否是整数,如果是整数,那么返回其整数值。
分析:整数可分为负数与非负数,负数只有一种表示方法,而非负数可以有两种表示方法。例如-123,123,+123,因此再判断字符串是否为整数的时候,需要考虑。
code:
def isNumber(c):
return c >= '0' and c <= '9'
def strToint(strs):
if strs is None:
flag = False
print("不是数字")
return -1
flag = True
res = 0
i = 0
minus = False # 是否是负数
if list(strs)[0] =='-':
minus = True
i = 1
if list(strs)[0] == "+":
minus = False
i = 1
while i < len(strs):
if isNumber(list(strs)[i]):
res = res * 10 + ord(list(strs)[i]) - ord('0')
else:
flag = False
print("不是数字")
return -1
i += 1
return -res if minus else res
if __name__ == "__main__":
s = '-543'
print(strToint(s))
程序运行结果:
-543
网友评论