百科问答小站 logo
百科问答小站 font logo



python中用isdigit函数判断是否为数字,但当输入为负数是不行?怎么解决? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      
       def check_xxx(str) :     try :         ss = int(str)         return True     except :         return False     


对了,多说一句:

python这种动态类型语言,设计上就不是按照C/C++/Java静态类型语言一样,要对参数进行各种合法性校验再做这个做那个的。如果都这么干,不是不行,是写这种check的代码比正经的功能代码还多,会累疯掉的。

它更常用的处理模式是类似于bash等脚本式写法,不管三七二十一,先用了再说。不行就抛个异常报个错,再处理一下就完了,没多大事。

例如说要完整检查ip,也不一定要单独写一个我上面那样的函数,逐个调用,把整个判断逻辑直接包在一个大的try……execpt里面就可以了:

       def check_ip(str) :     try :         _s = str.split('.')         if len(_s) != 4 :             return False         for i in _s :             if int(i) >= 256 or int(i) < 0 :                 return False         return True     except :         return False     

如果细致点,例如说需要区分是split还是int报的异常,那么在except里再细分一下,看看文档各自会抛哪个Exception,就行了。如果懒,就不管了。


user avatar   pansz 网友的相关建议: 
      

调用转化为数字的函数,判断是否成功,转化成功则是数字,转化失败则不是数字。转化后顺便还可以判断数字的取值范围。

另外,ip地址不能输入负数,所以这里没必要把负数当做数字。




  

相关话题

  Python 的练手项目有哪些值得推荐? 
  创业公司选择 .NET 技术栈究竟比选 Java/Python 贵多少钱? 
  如果代码按行付费,会有什么好玩的事情发生? 
  python中用isdigit函数判断是否为数字,但当输入为负数是不行?怎么解决? 
  有没有将c语言源代码转换成汇编语言的软件?有没有将python语言源代码转换成汇编语言的软件? 
  自学 Python 之后如果不去公司上班,自己一个人可以通过此技能挣什么钱? 
  python是对面向对象编程友好的语言吗?有没有改进空间? 
  为什么国内每天都在说 Python 有多好,真正招聘的时候却不需要呢? 
  计算机视觉研一,只学过Python基础,目前代码能力很差,要不要换导师,不换的话如何毕业? 
  python大型开源项目如何组织代码? 

前一个讨论
现在流行的德尔塔与与 B.1.1.529 毒株,与最初发现的毒株相比病毒基因组序列相似度大概有多少?
下一个讨论
在同一个进程中,能否在一个线程用一个epoll大循环管理多个UdpServer+TcpServer?





© 2025-04-15 - tinynew.org. All Rights Reserved.
© 2025-04-15 - tinynew.org. 保留所有权利