Вы объединяете strings
и ints
. В Python (и для людей) 4 == 04 == 004 == 0004 == ...
. С другой стороны, строка - это последовательность символов. В вашем случае символ «0», за которым следует символ «4». Это отличается от одного символа «4». Когда вы конвертируете '04' в int
, Python говорит, что это то же самое, что и 4. Поскольку 4
является более простым способом представления этого целого числа, чем 04
, Python отображает 4
.
Также вы можете использовать спецификаторы формата Python для получения вашей команды:
command = 'hi'
command = "%02d" % len(command) + command # '02hi'
или преобразовать в строку и использовать zfill
:
command = str(len(command)).zfill(2) + command # '02hi'