Во-первых, в коде C ++ есть ошибка
XY=X.append(Y)
также изменит X на X + Y, например, рассмотрим следующий фрагмент кода:
string X="ab", Y="cd";
string XY=X.append(Y);
cout<<"X="<<X<<", Y="<<Y<<", XY="<<XY;
output:
X=abcd, Y=cd, XY=abcd
Поскольку append сначала объединяет Y в X, а затем присваивает значение X для XY.это вызовет проблемы, когда вы вычислите YX позже.Вместо этого я предложу использовать оператор «+»:
int Compare(string X, string Y)
{
string XY = X+Y;
string YX = Y+X;
if (XY > YX) return 1;
else return 0;
}
Эквивалентный код Python3 будет
def Compare(X, Y):
X=str(X) # Convert to string in case integer parameters are passed (if you are
Y=str(Y) # sure that only string will be passed you can skip these two lines)
XY = X+Y
YX = Y+X
if (XY > YX):
return 1
else:
return 0