Python把字符串转换成整数

本文阅读 1 分钟
首页 Python笔记 正文

主要是区分输入和合法性,比如输入一个None,输入一个空字符串 "",或者输入的字符串中含有“+”或者“-”,或者输入的字符串中含有除去+ — 数字的非数字字符,如何段应正常的输出还是报错,需要考虑的全面一些。

  1. '''
  2. 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数
  3. '''
  4. # -*- coding:utf-8 -*-
  5. class Solution:
  6. # 如果输出是0, 通过检查flag判断输入不合法还是输入直接是'0'
  7. def StrToInt(self, s):
  8. flag = False
  9. if s == None or len(s) < 1:
  10. return 0
  11. numStack = []
  12. dict = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
  13. for i in s:
  14. if i in dict.keys():
  15. numStack.append(dict[i])
  16. elif i == '+':
  17. continue
  18. elif i == '-':
  19. continue
  20. else:
  21. return 0
  22. print(numStack)
  23. ans = 0
  24. if len(numStack) == 1 and numStack[0] == 0:
  25. flag = True
  26. return 0
  27. for i in numStack:
  28. ans = ans*10 + i
  29. if s[0] == '-':
  30. ans = 0 - ans
  31. return ans
  32. test = '-123-56'
  33. s = Solution()
  34. print(s.StrToInt(test))
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

Python不用加减乘除做加法
« 上一篇 01-21
Python树中两个节点的最低公共祖先
下一篇 » 01-21

发表评论

惪特博客
  • 文章总数:
    18498 篇
  • 评论总数:
    53261 条
  • 标签总数:
    8869 个
  • 总浏览量:
    21727716 次
  • 最后更新:
    2天前

最多点赞

随便看看

标签TAG