python - "inconsistent use of tabs and spaces in i

我正在尝试在 Python 3.2 中创建一个应用程序,并且我一直使用制表符进行缩进,但即使是编辑器也将其中一些更改为空格,然后在我打印出“缩进中制表符和空格的使用不一致”时尝试运行程序。

如何将空格更改为制表符?快把我逼疯了。

import random

attraktioner = ["frittfall","bergodalbana","spökhuset"]


class Nojesfalt:
    def __init__(self, attraktion):
        self.val = attraktion
        self.langd = 0
        self.alder = 0


#längdgräns för fritt fall
    def langdgrans(self):
        print("")
        self.langd = int(input("Hur lång är du i cm? "))
        if self.langd < 140:
            print("tyvärr, du är för kort, prova något annat")
            return 0
        elif self.langd >= 140:
            print("håll dig hatten, nu åker vi!")
            print(" ")
            return 1

#åldersgräns för spökhuset
    def aldersgrans(self):
        print("")
        self.alder = int(input("Hur gammal är du? "))
        if self.alder < 10:
            print("tyvärr, du är för ung, prova något annat")
            return 0
        elif self.alder >= 10:
            print("Gå in om du törs!")
            print(" ")
            return 1


#åker attraktion frittfall lr bergodalbana
        def aka(self):
                print("")
        print(self.val)
        tal = random.randint(0,100)
        if tal < 20:
            print("åkturen gick åt skogen, bättre lycka nästa gång")
        elif tal >= 20:
            print("jabbadabbbadoooooooo")
            return 1

#går i spökhuset
        def aka1(self):
                print("")
        print(self.val)
        tal = random.randint(0,100)
        if tal < 20:
            print("du är omringad av spöken och kan inte fortsätta")            return 0
        elif tal >= 20:
            print("Buhuuuuuu, buuuhuuuu")
            return 1

#programkod
print("Välkommen till nöjesfältet, vad vill du göra?")
print(" ")

while 1:
    vald_attr = input("Vad vill du göra?\n1. frittfall\n2. bergodalbana\n3. spökhuset\n4. Avsluta\n")
    if vald_attr == "1":
        val = Nojesfalt(attraktioner[0])
        if val.langdgrans() == 1:
            val.aka()
    elif vald_attr == "2":
        val = Nojesfalt(attraktioner[1])
        val.aka()
    elif vald_attr == "3":
        val = Nojesfalt(attraktioner[2])
        if val.aldersgrans() == 1:
            val.aka1()
    elif vald_attr == "4":
        break

最佳答案

不要使用标签。

  1. 将您的编辑器设置为使用 4 个空格进行缩进。
  2. 进行搜索和替换,将所有制表符替换为 4 个空格。
  3. 确保您的编辑器设置为显示标签为 8 个空格。

注意:制表符使用 8 个空格的原因是为了让您在无意中插入制表符时立即注意到 - 例如从使用制表符而不是空格的示例代码复制和粘贴时。

关于python - "inconsistent use of tabs and spaces in indentation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685406/

相关文章:

python - Python 3 的图像库

python - Python 'for' 循环中的范围

linux - grep 排除多个字符串

c - 从C中的文件描述符中检索文件名

python - Python 中的 '@=' 符号是什么?

linux - 如何在行号处拆分文件

linux - 是否可以在文件名中使用 "/"?

python - 如何将 NumPy 数组标准化为单位向量?

c - 如何从 C 中通过 PID 在 Linux 中计算进程的 CPU 使用率?

python - Python 中嵌套的 try/except block 是一种好的编程习惯吗?