首页 新闻 会员 周边 捐助

python初学小白,不知道代码哪里出现了问题,求解答

0
[待解决问题]

题意:一个小于100的正整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数。请问该数是多少?

from math import sqrt
for i in range(0, 100):
    a = sqrt(i+100)
    if type(a) == int:
        b = sqrt(i + 268)
        if type(b) == int:
            print(i)

运行结果

F:\pythonTest\venv\Scripts\python.exe F:/pythonTest/Test/test.py

Process finished with exit code 0

正确答案应该为21,,但我不知道我写的逻辑或者代码哪里有问题,运行结果为空

禾呈&禾呈的主页 禾呈&禾呈 | 菜鸟二级 | 园豆:202
提问于:2020-03-02 10:02
< >
分享
所有回答(3)
1

sqrt(121) 并不是 int, 你的判断需要修改。

爱编程的大叔 | 园豆:30844 (高人七级) | 2020-03-02 10:30
0
from math import sqrt
for i in range(0, 100):
    a = sqrt(i+100)
    if isinstance (a,int):
        b = sqrt(i + 268)
        if  isinstance (b,int):
            print(i)
#不过a,和 b是浮点类型  ,你应该这样写函数
小小咸鱼YwY | 园豆:3312 (老鸟四级) | 2020-03-02 12:31
0

python判断一个数是不是完全平方数
https://www.cnblogs.com/zlsjjn/p/7459607.html

这里我的python代码:

from math import sqrt

for n in range(1,100):
    if int(sqrt(n+100)) ** 2 == n+100:
        if int(sqrt(n+268)) ** 2 == n+268:
            print(n)

nim语言版本

import math

for n in 1 .. 100:
    var n100 = n + 100
    var n268 = n100 + 168
    if n100.float.sqrt.int ^ 2 == n100:
        if n268.float.sqrt.int ^ 2 == n268:
            echo n
墨镜带佬星 | 园豆:2310 (老鸟四级) | 2020-03-03 06:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册