-1

我在将字符串转换为 int 时遇到问题。我想将字符串的长度添加到它的开头(我只能使用 2 位数字),然后如果字符串长度小于 10,则通过使用字符串的开头(2 位数字)来知道字符串的长度然后在我尝试这样做的长度之前添加一个 0

command = "0"+str(len(command))+command

但它不起作用,但我不知道为什么,因为

command = "04EXIT"
int(command[0:2]) 

将打印 4 和

int("04")也会打印 4 所以我不知道为什么这不起作用

提前感谢所有的帮助者

4

1 回答 1

1

你正在混淆stringsints。在 Python(和人类)4 == 04 == 004 == 0004 == ...中。另一方面,字符串是字符序列。在您的情况下,一个“0”字符后跟一个“4”字符。这与单个字符“4”不同。当您将 '04' 转换为intPython 时说得好,这与 4 相同。因为4表示这个整数的方式比 更简单04,所以 Python 显示4.

您还可以使用 Python 的格式说明符来获取您的命令:

command = 'hi'
command = "%02d" % len(command) + command  # '02hi'

或转换为字符串并使用zfill

command = str(len(command)).zfill(2) + command  # '02hi'
于 2018-11-08T18:24:17.810 回答