Python 跳过数字

标签 python python-2.7

我正在编写一个程序,该程序应该通过暴力来确定数字的平方根。但是,某些数字(每次都相同)。

这是代码:

toCalc = 3

guess = toCalc
toCalc = round(toCalc, 2)
while 1+1==2:

        print "Trying ", guess, "..."
        calc = guess * guess
        calc = round(calc, 2)
        print calc
        guess = guess - 0.01
        if calc == toCalc:
                break

这是输出:

Trying  1.22 ...
1.49
Trying  1.21 ...
1.46
Trying  1.2 ...
1.44
Trying  1.19 ...
1.42
Trying  1.18 ...
1.39
Trying  1.17 ...
1.37
Trying  1.16 ...
1.35
Trying  1.15 ...
1.32
Trying  1.14 ...
1.3
Trying  1.13 ...
1.28
Trying  1.12 ...
1.25
Trying  1.11 ...
1.23
Trying  1.1 ...
1.21
Trying  1.09 ...
1.19
Trying  1.08 ...
1.17
Trying  1.07 ...
1.14
Trying  1.06 ...
1.12
Trying  1.05 ...
1.1
Trying  1.04 ...
1.08
Trying  1.03 ...
1.06
Trying  1.02 ...
1.04
Trying  1.01 ...
1.02
Trying  1.0 ...
1.0
Trying  0.99 ...
0.98
Trying  0.98 ...
0.96
Trying  0.97 ...
0.94
Trying  0.96 ...
0.92
Trying  0.95 ...
0.9
Trying  0.94 ...
0.88
Trying  0.93 ...
0.86
Trying  0.92 ...
0.85
Trying  0.91 ...
0.83

“尝试”下面的数字是计算值,“尝试”后面的数字是猜测值。

最佳答案

当您采用下一个猜测(即旧猜测 - 0.01)并将其平方时,下一个平方大约为旧square - 0.02(使用二项公式)。这意味着猜测平方列中的步长约为 0.02,因此缺少数字。

你是这个意思吗?

更好的算法可能是使用二分法(谷歌搜索)。

关于Python 跳过数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43140699/

相关文章:

python - 使用 Python 下载文件的问题

Python JSON编码器支持日期时间?

python - 将矩阵数组与向量相乘

python - Pygame Sprite 双跳

python - 在python中将指数形式的数字转换为十进制形式

python - 尝试掌握递归函数

python - 如何将 SimpleGUI 与 Python 2.7 和 3.0 shell 集成

Python池映射和选择进程数

python - 检查导入模块的路径,不带 __file__

Python情感分析(比较单词时,文本中重复的单词不计算在内)