Python if-else循环中列表的时间格式不起作用

Python if-else循环中列表的时间格式不起作用,python,Python,错误: 文件“main.py”,第13行 打印(hr1) ^ 缩进错误:未缩进与任何外部缩进级别不匹配 代码如下: timing = ["3:00 PM", "3:10", "Monday"] for i, timer in enumerate(timing): if ":" in timing[i]: # Trying to take both 3:00 PM and 3:00 from list

错误:

文件“main.py”,第13行
打印(hr1)
^
缩进错误:未缩进与任何外部缩进级别不匹配

代码如下:

timing = ["3:00 PM", "3:10", "Monday"]

for i, timer in enumerate(timing):
   if ":" in timing[i]: # Trying to take both 3:00 PM and 3:00 from list
     if " " in timing[i]: # Trying to take 3:00 PM from list
      hr1, term = timing[i].split(":")
      min1, ender = term.split(" ")
     else: # Trying to take Monday from list
      hr2, min2 = timing[i].split(":")
   if ":" not in timing[i]:
      day = timing[i]
      
    print(hr1)
    print(min1)
    print(hr2)
    print(min2)
制表符被双空格替换。仍然存在错误


有什么解决办法吗?

您的错误在缩进中。Python对缩进非常关键

将最后一行的
打印
代码向左对齐,而不是居中对齐:

print(hr1)
而不是

            print(hr1)

您的问题是第一层
if
-语句缩进三个空格,第二层五个空格,后续变量赋值六个空格,而
print
语句四个空格。因此,系统不知道在哪个语句下打印


是否确实要在
for
-循环中打印
语句?如果您完全取消输入它们,它们将在
for
-循环完成后打印,从而解决您的问题。

您需要格式化代码。添加适当的缩进。错误消息似乎足够描述性;行
print(hr1)
没有缩进到与上面任何行相同的级别。使用制表符而不是空格,这样很容易管理。不过,我很确定他的
print
语句没有居中对齐。