一、对ch = eval(input())类型的整数、浮点数、复数判断
1、isinstance函数介绍
isinstance(obj,type)#isinstance包含两个变量,第一个是传进来的参数,第二个是判断类型
num1 = 100
num2 = 1.0
num3 = 1+2j
ch = 'Hello world!'
h = {"python":123}
#isinstance返回bool变量
isinstance(num1, int)#返回True
isinstance(num1, float)#返回False
isinstance(num2, int)#返回False
isinstance(num2, float)#返回True
isinstance(num3, int)#返回False
isinstance(num3, complex)#返回True
isinstance(ch, basesstring)#返回True
isinstance(h, dict)#返回True
二、
数字鲁棒输入
使用
if isinstance(eval(ch), int) or isinstance(eval(ch), float) or isinstance(eval(ch), complex):
会导致10+20 or 10**2这样的表达式也被eval()函数转化成整型
此处灵感来自于
https://blog.csdn.net/weixin_44591177/article/details/99646231
ch = input()
try:
if complex(ch) == complex(eval(ch)):
print(pow(eval(ch), 2))
except:
print("输入有误")
其中complex函数可以直接对字符串进行操作。
版权声明:本文为weixin_43945332原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。