if处的Python缩进错误

if处的Python缩进错误,python,Python,这是密码 def properties(imgnum): ... if imgnum == 6: bonus = 0 #img6.gif photo = tkinter.PhotoImage(file = './Images/img6.gif') root.geometry("450x450") root.update() canvas.create_image(225,225, im

这是密码

def properties(imgnum):
    ...
    if imgnum == 6:
        bonus = 0
        #img6.gif
        photo = tkinter.PhotoImage(file = './Images/img6.gif')
        root.geometry("450x450")
        root.update()
        canvas.create_image(225,225, image=photo)
        root.mainloop()
        props = {...}
    if imgnum == 7:
        bonus = 0
        #img7.gif
        photo = tkinter.PhotoImage(file = './Images/img7.gif')
        root.geometry("450x450")
        root.update()
        canvas.create_image(225,225, image=photo)
        root.mainloop()
        props = {}
    if imgnum == 8:
        bonus = 0
        #img8.gif
        photo = tkinter.PhotoImage(file = './Images/img8.gif')
        root.geometry("450x450")
        root.update()
        canvas.create_image(225,225, image=photo)
        root.mainloop()
        props = {}
下面是错误:

Traceback (most recent call last):
  File "C:\Users\[USER]\Desktop\Eoy\EOY.py", line 1, in <module>
    from EOY_props import properties
  File "C:\Users\[USER]\Desktop\Eoy\EOY_props.py", line 55
    if imgnum == 7:
     ^
IndentationError: expected an indented block
回溯(最近一次呼叫最后一次):
文件“C:\Users\[USER]\Desktop\Eoy\Eoy.py”,第1行,在
从EOY_道具导入属性
文件“C:\Users\[USER]\Desktop\Eoy\Eoy\u props.py”,第55行
如果imgnum==7:
^
缩进错误:应为缩进块
我听说这是因为混合了制表符和空格,而我没有这样做。 所有代码与其他代码是偶数,所有括号和方括号都是闭合的。
道具词典在待办事项列表上,这都是正在进行的工作。

问题已经解决: 当我按ctrl+s时,IDLE没有保存文件
编译器没有检测到该语句下的任何内容,因为它可能与
if
语句和方法声明之间的代码有关。你也可以发布代码吗?如果imgnum==7:上面的代码是什么样子的?该错误通常意味着,如果imgnum…的缩进级别是不正确的,这取决于之前的缩进级别。在这种情况下,如果imgnum==7的缩进比前一行的缩进要多,那么它看起来希望
。试着用
props={}
替换它,看看是否有同样的问题。在props后面添加缩进语句,在if前面添加dedented语句作为sentinals.mixed制表符和空格?与您的问题完全无关,但您可以将其重写为单个块,如
photo=tkinter.PhotoImage(file='./Images/img%d.gif'%imagenum)
这样您就不必硬编码一串相同的行。