inp = input("Enter the expression ")
num = str()
for i in range(len(inp)):
if(inp[i] == "."):
print("0",end="")
elif(inp[i] == "-"):
if(inp[i+1] == "."):
print("1",end="")
elif(inp[i+1] == "-"):
print("2",end="")
i += 1
print(num)我正在尝试从代码强制中解码Borze代码问题,这里我从一个for循环开始,该循环遍历所提供的范围。和-在字符串inp中。在下面的给定部分中,
elif(inp[i] == "-"):
if(inp[i+1] == "."):
print("1",end="")
elif(inp[i+1] == "-"):
print("2",end="")
i += 1 我通过添加i+=1将i的值增加了1,因为在某些情况下会计算字符串的两个值,为了避免在下一次迭代中重复第二个值,在这种情况下,i的值必须增加。但是,循环似乎仍然按照所提供的字符串长度迭代次数。是逻辑错误吗?我遗漏了什么?
发布于 2021-07-01 21:06:46
您可能需要手动构建循环索引才能获得您想要的内容:
i = 0
while i < len(inp):
if(inp[i] == "."):
print("0",end="")
elif(inp[i] == "-"):
if(inp[i+1] == "."):
print("1",end="")
elif(inp[i+1] == "-"):
print("2",end="")
i += 1 # increment under certain conditions
i += 1 # increment every time roundhttps://stackoverflow.com/questions/68210678
复制相似问题