무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
다른 방법들을 사용해봤습니다.
안녕하세요, 선생님. 늘 감사합니다. 다음 세 가지 방법[(2), (3), (5)]으로 변형해보았는데요. 모두 정상작동되긴 합니다. 제 방법들도 괜찮은지, 혹은 안좋은 방법인지 말씀해주시면 감사하겠습니다. (1) 원래의 방법 for s in range(1,11): if s in [2,5]: continue print(str(s),", 책을 읽어봐.") (2) else를 사용 for s in range(1,11): if s in [2,5]: continue else: print(str(s),", 책을 읽어봐.") (3) 주어진 조건의 부정을 취함 for s in range(1,11): if s not in [2,5]: print(str(s),", 책을 읽어봐.") (4) 원래의 방법 for s in range(1,11): if s in [2,5]: continue elif s==7: print("오늘 수업 여기까지. "+str(s)+"는 교무실로 따라와") break print(str(s),", 책을 읽어봐.") (5) else를 사용 for s in range(1,11): if s in [2,5]: continue elif s==7: print("오늘 수업 여기까지. "+str(s)+"는 교무실로 따라와") break else: print(str(s),", 책을 읽어봐.")
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
탱크 시즈모드에서 공격력 2배가 실행이 안됩니다.
안녕하세요. 제가 영상을 보고 이해하면서 교수님이 주신 코드를 그대로 따라 적었는데 다른 부분에는 문제가 없지만, 탱크 시즈모드 전환되는게 오류가 나는것 같습니다. 공격 모드 준비 과정에서 마린은 스팀팩을 쓰고, 탱크는 시즈모드로 전환하고, 레이스는 클로킹 모드로 전환해야 하는데 그중 탱크만 모드 전환이 안되는것 같습니다. 어디가 문제인 건가요? # 스타크래프트 프로젝트 from random import * # 일반 유닛 class Unit: def __init__(self, name, hp, speed): self.name = name self.hp = hp self.speed = speed print("{0} 유닛이 생성되었습니다.".format(name)) # 이 format에서는 그냥 name을 받아도 self.name을 받아도 상관없다. # 이동 시 def move(self, location): print("{0} : {1} 방향으로 이동합니다. [속도 {2}]".format(self.name, location, self.speed)) # 피격 시 (일반 유닛도 피해를 입을 수 있기에 제일 부모 클래스인 Unit으로 메소드를 이동하였다.) def damaged(self, damage): print("{0} : {1} 데미지를 입었습니다.".format(self.name, damage)) self.hp -= damage print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) if self.hp <= 0: print("{0} : 파괴되었습니다.".format(self.name)) # 공중 유닛 class Flyable: def __init__(self, flying_speed): self.flying_speed = flying_speed def fly(self, name, location): print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]".format(name, location, self.flying_speed)) # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, speed, damage): Unit.__init__(self, name, hp, speed) self.damage = damage # 공격 시 def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 {2}]".format(self.name, location, self.damage)) # 공중 공격 유닛 class FlyableAttackUnit(AttackUnit, Flyable): def __init__(self, name, hp, damage, flying_speed): AttackUnit.__init__(self, name, hp, 0, damage) Flyable.__init__(self, flying_speed) def move(self, location): self.fly(self.name, location) # ------------------------------ # 마린 클래스 생성 class Marine(AttackUnit): def __init__(self): AttackUnit.__init__(self, "마린", 40, 1, 5) # 스팀팩 : 일정 시간 동안 공격 속도 증가, 자신의 체력을 10 희생 def stimpack(self): if self.hp > 10: self.hp -= 10 print("{0} : 스팀팩을 사용합니다. (Hp 10 감소)".format(self.name)) else: print("{0} : 체력이 부족하여 스팀팩을 사용하지 않습니다.".format(self.name)) # 탱크 클래스 생성 class Tank(AttackUnit): def __init__(self): AttackUnit.__init__(self, "탱크", 150, 1, 35) self.seize_mode = False # 시즈 모드 : 탱크를 지상에 고정시켜, 더 높은 공격력으로 공격 가능 seize_developed = False # 시즈모드 개발여부 def set_seize_mode(self): if Tank.seize_developed == False: return # 현재 시즈모드가 아닐 때 -> 시즈모드 if self.seize_mode == False: print("{0} : 시즈모드로 전환합니다.".format(self.name)) self.damage *= 2 self.seize_mode = True # 현재 시즈모드일 때 -> 시즈모드 해제 else: print("{0} : 시즈모드를 해제합니다.".format(self.name)) self.damage /= 2 self.seize_mode = False # 레이스 클래스 생성 class Wraith(FlyableAttackUnit): def __init__(self): FlyableAttackUnit.__init__(self, "레이스", 80, 20, 5) self.cloaked = False # 처음 생성되었을 때 클로킹 모드 해제 상태 # 클로킹 모드 : 적의 시야에서 보이지 않음 def cloaking(self): if self.cloaked == True: print("{0} : 클로킹 모드 해제합니다.".format(self.name)) self.cloaked == False else: print("{0} : 클로킹 모드 실행합니다.".format(self.name)) self.cloaked == True # 게임 안내 def game_start(): print("[알림] 새로운 게임을 시작합니다.") def game_over(): print("Player : GG") print("[Player} 님이 게임에서 퇴장하셨습니다.") # -------------------------------------------- # 실제 게임 시작 game_start() # 마린 3기 생성 m1 = Marine() m2 = Marine() m3 = Marine() # 탱크 2기 생성 t1 = Tank() t2 = Tank() # 레이스 1기 생성 w1 = Wraith() # 유닛 일괄 관리 # 다중 선택이 용이하게 되게 하기 위해서 리스트를 만들어서 다 집어넣는다. attack_units = [] attack_units.append(m1) attack_units.append(m2) attack_units.append(m3) attack_units.append(t1) attack_units.append(t2) attack_units.append(w1) # 전군 이동 for unit in attack_units: unit.move("1시") # 탱크 시즈모드 개발 Tank.seize_developed == True print("[알림] 탱크 시즈 모드 개발이 완료되었습니다.") # 공격 모드 준비 (마린 : 스팀팩, 탱크 : 시즈모드, 레이스 : 클로킹) for unit in attack_units: if isinstance(unit, Marine): # 만들어진 개체가 어떤 클래스의 개체인지 확인하는 작업이다. unit.stimpack() elif isinstance(unit, Tank): unit.set_seize_mode() elif isinstance(unit, Wraith): unit.cloaking() # 전군 공격 for unit in attack_units: unit.attack("1시") # 전군 피해 for unit in attack_units: unit.damaged(randint(5, 21)) # 공격은 5 ~ 20의 난수로 피해를 입음 # 게임 종료 game_over() ------------------------------------------ [알림] 새로운 게임을 시작합니다. 마린 유닛이 생성되었습니다. 마린 유닛이 생성되었습니다. 마린 유닛이 생성되었습니다. 탱크 유닛이 생성되었습니다. 탱크 유닛이 생성되었습니다. 레이스 유닛이 생성되었습니다. 마린 : 1시 방향으로 이동합니다. [속도 1] 마린 : 1시 방향으로 이동합니다. [속도 1] 마린 : 1시 방향으로 이동합니다. [속도 1] 탱크 : 1시 방향으로 이동합니다. [속도 1] 탱크 : 1시 방향으로 이동합니다. [속도 1] 레이스 : 1시 방향으로 날아갑니다. [속도 5] [알림] 탱크 시즈 모드 개발이 완료되었습니다. 마린 : 스팀팩을 사용합니다. (Hp 10 감소) 마린 : 스팀팩을 사용합니다. (Hp 10 감소) 마린 : 스팀팩을 사용합니다. (Hp 10 감소) 레이스 : 클로킹 모드 실행합니다. 마린 : 1시 방향으로 적군을 공격 합니다. [공격력 5] 마린 : 1시 방향으로 적군을 공격 합니다. [공격력 5] 마린 : 1시 방향으로 적군을 공격 합니다. [공격력 5] 탱크 : 1시 방향으로 적군을 공격 합니다. [공격력 35] 탱크 : 1시 방향으로 적군을 공격 합니다. [공격력 35] 레이스 : 1시 방향으로 적군을 공격 합니다. [공격력 20] 마린 : 5 데미지를 입었습니다. 마린 : 현재 체력은 25입니다. 마린 : 14 데미지를 입었습니다. 마린 : 현재 체력은 16입니다. 마린 : 15 데미지를 입었습니다. 마린 : 현재 체력은 15입니다. 탱크 : 12 데미지를 입었습니다. 탱크 : 현재 체력은 138입니다. 탱크 : 16 데미지를 입었습니다. 탱크 : 현재 체력은 134입니다. 레이스 : 14 데미지를 입었습니다. 레이스 : 현재 체력은 66입니다. Player : GG [Player} 님이 게임에서 퇴장하셨습니다.
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
질문 있습니다.
파이선 프로그램이랑 비쥬얼 스튜디오 코드 같이 설치하는 이유가 뭔가요???
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
다중상속에서 에러 나는 이유를 모르겠습니다.
아래와 같은 에러가 나는 이유를 좀 알려 주시기 바랍니다.
- 해결됨파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
같은 에러 다른 결과
vietnam 이 정의 되지 않았다고 나오고, 문장이 출력되지 않습니다.
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
Quiz_7)문제 파일이 안 생기는 이유 좀 알려주세요
안녕하세요? 파일 생성이 되지 않는 이유를 모르겠습니다. 첨부의 화면캡처 파일을 올립니다. 가르쳐 주시기 바랍니다.
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
pylint 설치하는법
이 강좌를 보기 전에 Linter pylint is not installed창에서 do not show again을 눌러버려서 저 창이 안뜨는데 어떻게하면 설치할 수 있을까요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
스타그래프트 관련 질문 드립니다.
저는 탱크 공격력이 *= 2 연산이 안되고 35.0으로 출력이 됩니다. 왜 저는 연산이 안되고 실수로 출력이 될까요
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
configured debug type python is not supported
run 하면 이런에러가 뜨는데 어떻게해야하나요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
score file 생성이 안되는 이유가 뭔지 모르겠습니다.
첨부의 파일과 같이 영상을 따라 해도 파일 생성이 안되는 이유 좀 알려주세요
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
while이나 for 또는 if 같은 구문 조건에
숫자가 아니라 특정 문구를 넣으면 동작이 안되나요? 예를 들어 while x == "and" or x == "ios" 로 x가 and이거나 ios일때까지 하고 싶은데 and를 입력해도 ios를 입력해도 반복되는건 어떻게 해야하나요?
- 해결됨파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
(06:15 - 07:24) else의 생략 문제
선생님께서 작성하신 코드는 (1) score_file=open("score.txt","r",encoding="utf8") while True: line=score_file.readline() if not line: break print(line,end="") score_file.close() 입니다. 하지만 제가 배우기로는 if를 쓰고 나면 else를 써주어야 한다고 배웠습니다. 그전 영상에서도 else를 항상 써주셨으니까요. 그런데 이번에는 별도의 else 없이 바로 (if와 같은 indent 깊이로) print를 넣으셨고, 이것은 오류없이 잘 실행됐습니다. (2) score_file=open("score.txt","r",encoding="utf8") while True: line=score_file.readline() if not line: break else: print(line,end="") score_file.close() 그래서, 제가 생각하기에 맞는 방식으로, (1)보다 조금 더 명령어들을 넣어서 해봤는데, 정상적으로 잘 작동합니다. 질문은, (1)과 (2)가 완전히 동일한 명령을 호출하는 것인지, 그러니까 (1)과 같이 else를 생략해도 문제가 되지 않는 것인지 궁금합니다.
- 해결됨파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
(04:35 - 06:05) 다르게 시도해보았는데 같은 결과가 안나오네요.
"입출력" 영상의 04:35부터 06:05까지 선생님께서 작성하신 코드는 다음과 같습니다. (1) score_file=open("score.txt","r",encoding="utf8") print(score_file.readline(), end="") print(score_file.readline(), end="") print(score_file.readline(), end="") print(score_file.readline(), end="") score_file.close() 이 부분을 보고, 또 다음 예제들을 보면서 이런 생각을 했습니다. line이라는 변수를 따로 지정해서 여러 번 print해주면 되지 않을까? 실제로 이와 비슷한 방법을 다음 예제들에서 쓰고 계신 것 같습니다. 따라서 다음과 같이 해봤습니다. (2) score_file=open("score.txt","r",encoding="utf8") line=score_file.readline() print(line) print(line) print(line) print(line) score_file.close() 하지만 그 결과는, (1)과 달랐습니다. (1)에서는 수학, 영어, 과학, 코딩의 네 줄이 모두 출력된 반면 (2)에서는 수학만 네 번 나왔습니다. 이와 같은 현상이 발생하는 이유는 무엇인가요? (2)에서는 첫번째 print(line) 이후에 커서가 아래로 이동하지 않는 것인가요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
실행에러 봐주세요.. 해결이 안되네요
뭔가 잘못 눌러져서 그런거 같은데 저 괄호를 삭제해도, 계속나오고 지우고 새로해도 계속 생기네요..
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
자동 완성 문자? 질문입니다.
초보.. 질문드립니다. 이런 질문도 답변해주실지 모르겠네요. 비주얼 코드로 코딩할 때, 자동완성 문자 목록을 사용하면 끝에 항상 커서 다음에 ) 괄호가 남습니다. 그래서 오른쪽 방향키 누르고 엔터쳐서 다음 줄로 넘어가고 있습니다. 커서 이동없이 바로 다음 줄로 넘어가는 단축키가 없을까요? 강의 잘보고 있습니다 ^^ 감사합니다.
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
클래스 연산자 오버로딩 부분에서
클래스파트 연산자 오버로딩 강의를 보면 부모 클래스의 메서드를 자식클래스에서 재정의하는건데 연산자 오버로딩이 아니고 메서드 오버라이딩 아닌가요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
강의가 실행이 안되네요.
player.vimeo.com에서 잘못된 응답을 전송했습니다. 메세지와 함께 강의가 수강이 안됩니다.. 어떻게 해야 할까요??
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
문자 질문입니다!
풍선도 문자고 True나 False도 문자인데 왜 풍선은 ''나 ""를 붙여야 출력이 되고 True나 False는 그냥 입력해도 출력이 되나요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
이렇게 풀면 왜 오류가 날까요?
import pickle num = 1 while True: num += 1 with open(str({num})+"주차.txt".format(num),"w", encoding="utf8") \ as numb_file: numb_file.write("- " + str({num}) + \ "주차 주간보고 - \n부서 :\n이름 :\n업무 요약: ") if num == 50: break
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
도와주십시오 선생님 ㅠㅠ
리스트 L에서 임의의 자료값 하나를 꺼내려고 했는데 TypeError: 'list' object is not callable 이라고 뜨네요 ㅠㅠ 그리고 맨처음 from은 왜 노랑 밑줄 쳐져있는 건가요?