此C和x2B之间的差异+;函数和Python函数
我在C++中有返回正数<代码> > <代码>放大>代码> b/COD>次的功能。在C++中,这个函数运行时没有错误,但我想在Python中使用这个函数。有人能告诉我为什么这个函数在此C和x2B之间的差异+;函数和Python函数,python,c++,python-3.x,Python,C++,Python 3.x,我在C++中有返回正数 > 放大>代码> b/COD>次的功能。在C++中,这个函数运行时没有错误,但我想在Python中使用这个函数。有人能告诉我为什么这个函数在C++中返回结果,但在Python中不返回它,或者我在Python代码中犯了一个错误吗 我知道我可以用很多其他的方法编写这个函数,这个函数可能不是最好的解决方案,但是这个例子有什么问题?我要做的是在Python中运行它,而不用编写新的、更好的函数。为什么我可以在C++中运行这个代码,而不是在Python中运行? C++代码:- int
C++
中返回结果,但在Python中不返回它,或者我在Python代码中犯了一个错误吗
我知道我可以用很多其他的方法编写这个函数,这个函数可能不是最好的解决方案,但是这个例子有什么问题?我要做的是在Python中运行它,而不用编写新的、更好的函数。为什么我可以在C++中运行这个代码,而不是在Python中运行?
C++代码:-
int exp(int a,int b){
int result=1;
while(b!=0){
if(b%2==1){
result*=a;
}
b/=2;
a*=a;
}
return result;
}
def exp(a,b):
result=1
while b!=0:
if b%2==1:
result*=a
b/=2
a*=a
return result
PYTHON代码:-
int exp(int a,int b){
int result=1;
while(b!=0){
if(b%2==1){
result*=a;
}
b/=2;
a*=a;
}
return result;
}
def exp(a,b):
result=1
while b!=0:
if b%2==1:
result*=a
b/=2
a*=a
return result
Python中的while条件是否有问题?在Python代码中使用浮点除法:
b/=2
您需要整数除法:
b //= 2
b/=2
——在Python 3中不是整数除法;与b/=2
比较。仅适用于python3.x,因为以前的版本在/
上运行良好,并将其输出视为整数。@VasuDeo.s的问题用python3标记。如果读者不知道这一事实,我只是想告诉他们这个答案。是的,我现在正在使用python-3.x,无论如何,感谢大家,这很有帮助。这真的很简单。