我正在编写一个小程序来将字符串转换为整数,然后在字符串列表中转换为二进制。这就是我所拥有的
x=0
while x < len(list):
list[x]=bin(eval(list[x])
if(list[x].startswith("0b")):
list[x]=list[x].replace("0b","")
我在 if 语句的冒号上收到语法错误,我不知道为什么。任何帮助,将不胜感激。
我正在编写一个小程序来将字符串转换为整数,然后在字符串列表中转换为二进制。这就是我所拥有的
x=0
while x < len(list):
list[x]=bin(eval(list[x])
if(list[x].startswith("0b")):
list[x]=list[x].replace("0b","")
我在 if 语句的冒号上收到语法错误,我不知道为什么。任何帮助,将不胜感激。
您真正的问题是您在bin()
通话结束时缺少括号。
x = 0
while x < len(list):
list[x] = bin(eval(list[x]))
if list[x].startswith("0b"):
list[x] = list[x].replace("0b","")
您可以删除if
行上的括号;如果测试套件,python 不使用括号。
最好不要为变量使用内置类型名称,因此变量list
名称不好。如果你想去掉字符串开头的字符,你可以使用索引:
list[x] = list[x][2:]
大概您的代码尚未完成,或者由于错误您尚未发现这一点,但您的循环将永远不会结束,因为您没有递增x
.