Python &引用;无法连接';str';和';int';“对象”;错误
当我尝试运行下面的代码时,我不断收到一个“无法连接'str'和'int'对象”错误。我指出第6行是问题的根源,但我真的看不到错误!我的类型似乎都是一致的Python &引用;无法连接';str';和';int';“对象”;错误,python,string,for-loop,Python,String,For Loop,当我尝试运行下面的代码时,我不断收到一个“无法连接'str'和'int'对象”错误。我指出第6行是问题的根源,但我真的看不到错误!我的类型似乎都是一致的 def DashInsert(num): num_str = str(num) new_str = '' for i in num_str: var1 = num_str[i:i+1] var2 = num_str[i+1:i+2] if var1 % 2 == 1 and var2 % 2 == 1:
def DashInsert(num):
num_str = str(num)
new_str = ''
for i in num_str:
var1 = num_str[i:i+1]
var2 = num_str[i+1:i+2]
if var1 % 2 == 1 and var2 % 2 == 1:
new_str = new_str + num_str[i:i+1] + "-"
else:
new_str = new_str + num_str[i:i+1]
return new_str
# keep this function call here
# to see how to enter arguments in Python scroll down
print DashInsert(raw_input())
i
在本例中不是索引,而是字符串
例如,如果代码中的num
为42,则工作流将为:
num_str = str(42) # '42'
for i in num_str: # First iteration
var1 = num_str['4':'4'+1] # Python: '4' + 1 = ERROR
您可能正在寻找的是:
for i, c in enumerate(num_str):
var1 = num_str[0:0+1] # Python: 0 + 1 = 1
请参阅。其他问题中的所有答案仅显示了如何通过单个字符进行迭代。但他也在尝试使用
var1
和var2
变量访问当前迭代步骤之后的字符。如果你没有展示如何做到这一点,这更多的是一个评论而不是一个答案。
for i, c in enumerate(num_str):
var1 = num_str[0:0+1] # Python: 0 + 1 = 1