|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #coding=gbk
- #一个整数,它加上100后是一个完全平方数,
- #再加上168又是一个完全平方数,请问该数是多少?
- for i in range(-10000,10001,1):
- if isinstance((i+100)**0.5,int)and isinstance((i+100+168)**0.5,int):
- print(i)
复制代码
为什么会没有输出呢?
因为你的思路与用法错了~
首先,函数 isinstance(object, classinfo) 是在问此变量是否为此数据类型。您输入的语法是没问题的,但不会是您想要的结果,因为整型与浮点型的运算结果会是浮点型
尝试:type((1+100)**0.5) ,结果会是 float,因为根号是浮点型的运算。
既然您问的是 float == int,判断结果当然是 False
and 逻辑,只要前者是 False,那么将直接返回 False
既然是 False,那么由始至终都不会进入 if 的程序,也就是 print
提示:您可以尝试 x + 100 是否为完全平方,如果是,则再尝试 x +100 + 168 是否为完全平方~
|
|