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
답변
탭을 사용하지 마십시오.
- 들여 쓰기에 4 개의 공백 을 사용하도록 편집기를 설정하십시오 .
- 모든 탭을 4 개의 공백으로 바꾸려면 검색하고 바꿉니다.
- 편집기가 탭을 8 개의 공백 으로 표시 하도록 설정되어 있는지 확인하십시오 .
참고 : 탭에 공백이 8 개있는 이유는 공백 대신 탭을 사용하는 예제 코드에서 복사하여 붙여 넣을 때와 같이 탭이 실수로 삽입 된 시점을 즉시 알 수 있기 때문입니다.
답변
답변
으로 IDLE의 편집이 사용할 수 있습니다 :
- 메뉴 편집 → 모두 선택
- 메뉴 형식 → 지역 탭 해제
- 편집기가 8 개의 공백을 탭으로 교체했다고 가정하면 입력 상자에 8을 입력하십시오.
- select를 누르면 전체 문서가 수정됩니다.
답변
당신이 사용하는 경우 숭고한 텍스트 파이썬 개발을, 당신은 패키지 아나콘다를 사용하여 오류를 방지 할 수 있습니다. Anaconda를 설치 한 후 Sublime Text로 파일을 열고 열린 공간을 마우스 오른쪽 버튼으로 클릭하고 → Anaconda를 선택하고 → 자동 형식을 클릭하십시오. 완료 . 또는 Ctrl+ Alt+를 누릅니다 R.
답변
일반적으로 사람들은 공간 들여 쓰기를 선호합니다. 여러 편집기간에 일관성이있어 불일치가 줄어 듭니다. 그러나 탭으로 들여 쓰기 할 수 있습니다. 그것은 당신의 선택입니다. 그러나 탭당 8 칸의 표준은 약간 넓습니다.
문제에 관해서는 아마도 편집자가 엉망이되었을 것입니다. 탭을 공백으로 변환하는 것은 실제로 편집기에 따라 다릅니다.
예를 들어, Emacs에서는 ‘untabify’메소드를 호출 할 수 있습니다.
명령 행에서 sed 행을 사용할 수 있습니다 (빈 공간 수를 원하는대로 조정하십시오).
sed -e 's;\t; ;' < yourFile.py > yourNedFile.py
답변
숭고한 텍스트 편집기를 사용할 때 inconsistent use of tabs and spaces in indentation
오류가 발생한 코드 세그먼트를 선택하고 다음을 선택할 수있었습니다 .
view > indentation > convert indentation to spaces
나를 위해 문제를 해결했습니다.
답변
동일한 오류가 표시되었을 때 수행 한 작업 : 모든 항목 ( Str+ A)을 선택 하고 Shift+를 누릅니다 Tab. 그래서 더 이상 들여 쓰기가 없었습니다. 이제 들여 쓰기하려는 줄로 돌아가서 원하는 방식으로 되돌립니다.
그것은 나를 위해 일했다 …
