Python 在for循环中,i*i和i^2的行为方式不同
我试图解决的问题是:编写一个Python函数,它接受一个正整数n,并返回所有小于n的正整数的平方和 在编写问题代码时,我观察到一些非常奇怪的情况。(蟒蛇3.7) 迭代1:我在for循环中使用I^2作为要添加的术语Python 在for循环中,i*i和i^2的行为方式不同,python,for-loop,math,sum,python-3.7,Python,For Loop,Math,Sum,Python 3.7,我试图解决的问题是:编写一个Python函数,它接受一个正整数n,并返回所有小于n的正整数的平方和 在编写问题代码时,我观察到一些非常奇怪的情况。(蟒蛇3.7) 迭代1:我在for循环中使用I^2作为要添加的术语 n = int(input('Enter the value of integer upto which sum needs to be computed: ')) sum = 0 for i in range(1,n): sum += i^2 迭代2:我在for循环中使用I*I
n = int(input('Enter the value of integer upto which sum needs to be computed: '))
sum = 0
for i in range(1,n):
sum += i^2
迭代2:我在for循环中使用I*I作为要添加的术语
n = int(input('Enter the value of integer upto which sum needs to be computed: '))
sum = 0
for i in range(1,n):
sum += i*i
两次迭代都会得到不同的答案(总和就是输出),尽管它们在数学上是相同的,我不明白为什么。请在这里帮助我,以便我更好地理解Python。这是因为
^
是按位异或而不是幂。
您可以使用:
i*i
正如您已经做过的,或者:
i**2
在python中
^
表示异或(按位)
使用
**
代替^^
不是求幂运算符。这是因为^
是异或运算符,而不是指数运算符。