use*_*966 3 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:
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())
Run Code Online (Sandbox Code Playgroud)
for i in num_str:
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
您可能正在寻找的是:
for i, c in enumerate(num_str):
var1 = num_str[0:0+1] # Python: 0 + 1 = 1
Run Code Online (Sandbox Code Playgroud)
看到这个答案.
| 归档时间: |
|
| 查看次数: |
788 次 |
| 最近记录: |