Python习题-isNum()函数的实现

文章讨论了一个名为isNum的函数,该函数通过eval尝试将字符串转换为数字或复数类型来判断是否为数字表示。它使用try-except处理可能的错误。输入默认为字符串,eval能将字符串转化为整数、浮点数或复数。try-except用于捕获和处理可能出现的异常情况,确保程序的健壮性。
摘要由CSDN通过智能技术生成

题目:实现isNum函数,参数为一个字符串,如果这个字符串属于整数,浮点数或者复数的表示,则返回Ture,否则返回False。 

代码实现:

def isNum(str):
    try:
        a=eval(str)
        if type(a) == type(1) or type(a) == type(1.0) or type(a) == type(1+1j):
            return True
        else:
            return False
    except:
        return False
str1=input()
print(isNum(str1),end='')

运行结果:

问题一:如果没有a=eval(str)呢?

测试一下input的输入类型:

def isNum(str):
    try:
        a=eval(str)
        if type(a) == type(1) or type(a) == type(1.0) or type(a) == type(1+1j):
            return True
        else:
            return False
    except:
        return False
str1=input()
print(type(str1))
print(isNum(str1),end='')

输出结果为: 

  

 说明input输入默认输入类型为字符串,无论是数字还是浮点数还是复数

如果使用了eval函数之后,可以将字符串转化为整数,浮点数,以及复数,即可带入运算了

使用eval函数一般是在不知道函数类型的时候很方便使用,如果题目要求输入一个整数,可以采用int1=int(input())的方式输入

问题二:为什么要加一个try-except语句呢?

首先回顾try语句的使用方法

try:

        <要try的语句>

except  A:#A为异常的情况,比如NameError,TypeError……

       <出现A异常的时候,要输出的语句(一般为提示语句)>

except B:

        ……

3.突发奇想,这题能不能只用 try except语句实现呢?

当然不可以啦,except后接的条件只能是异常情况,不能为普通条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Murrays

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值