当我在python3中运行这个python代码时,它显示了python2的不同结果?为什么有不同的价值观?
d = 0
x1 = 0
x2 = 1
y1 = 1
e=125
phi=238
temp_phi = phi
while e > 0:
print (e, temp_phi)
temp1 = temp_phi / e
print (temp1)
temp2 = temp_phi - temp1 * e
print (temp2)
temp_phi = e
e = temp2
x = x2 - temp1 * x1
y = d - temp1 * y1
x2 = x1
x1 = x
d = y1
y1 = y
print (d + phi)
if temp_phi == 1:
print (d + phi)
答案 0 :(得分:0)
在Python 2和3中运行时值的更改原因是<a href="{{url('/')}}">Index</a>
<a href="{{url('about')}}">About</a>
运算符的运行方式不同,具体取决于运行程序的版本。这可以在PEP 238中读取。详细说明了在python 3中发生的变化
为确保在python 2和3中都能获得相同的结果,请在使用python 2时使用以下import语句:
/
这可确保您的代码与两个版本的python兼容。
答案 1 :(得分:0)
问题在于这一行:
temp1 = temp_phi / e
在Python 2中,/
运算符在其参数都是整数时执行整数除法。也就是说,它(概念上)等于 floor(float(a)/ float(b)),其中 a 和 b 是其整数参数。在Python 3中,/
是浮点除法,无论其参数的类型如何,/
运算符都会重新创建来自Python 2的//
的行为。