수업이 어떻게 작동하는지 연구 중이므로 수업을 만드는 방법을 알아 냈습니다 일부 시나리오. 그러나 시나리오를 만들 수있는 방법을 찾지 못했습니다. class Function():
, def __init__(self):
및 def AnotherFunction(self, Foo):
이 포함됩니다. 그것들은 내 시나리오에서 실제 "함수"가 아니지만 매우 유사합니다. while loop
이 class
에서 발생하는 거예요 이유Python 3.5.1 : while 루프를 클래스로 만드는 방법은 무엇입니까?
class Name():
def __init__(self, Name):
self.Name = ["Your Dicer's name is: "]
self.AddName()
def AddName(self):
self.Count = 1
while(self.Input == 1):
Input = input("What is your Dicer's name?:\n")
if(any(BadWord in Input.lower() for BadWord in [])):
print("That's an inappropriate name! Try again")
elif(len(Input) < 3):
print("That name is too short! Try again.")
elif(len(Input) > 16):
print("That name is too long! Try again.")
else:
self.Count -= 1
self.Name.append(Input)
내 질문은 : 여기 내 코드는? 다른 스택 오버 플로우 질문, 클래스 기사 및 자습서 및 while 루프와 관련된 다른 질문을 찾아 보았지만 아무 소용이 없었습니다. 너는 왜 달아나지 않고 어떻게 고칠 지 말해 줄 수 있니? 나는 그것을 고맙게 생각할 것이다. 감사! :)
업데이트 1 : AddName parameters
에 Input
을 넣었습니다. 또한 Name
을 instance
으로 추가했습니다. 그러나 이러한 업데이트는 작동하지 않았습니다.
업데이트 2 : AddName parameters
중에서 Input
을 가져 왔습니다. self.Input
을 self.Count
으로 변경하여 혼란을주지 않도록하십시오. self.Name += Input
을 self.Name.append(Input)
으로 변경했습니다. 이러한 업데이트로 인해 코드를 이해하기가 다소 쉬워졌지만 일부 문제는 수정되었지만 while loop
실행이 어려웠습니다.
필수 인수 ('self.AddName()')없이 함수를 호출하거나, 매개 변수'Input'에 인수를 제공하거나 함수 정의를'def AddName (self) : ...'로 변경하십시오. –
생성자'x = Name()'을 호출하여'Name'의 인스턴스를 생성하면'AddName'이 제공하지 않는 인수를 가지므로 TypeError가 발생합니다. 그래서 문제가 있다고 가정합니다. 인스턴스를 생성하지 않습니다. –
@Jim 그 두 가지 제안이 작동하지 않습니다. – BradTheBrutalitist