무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
온라인 스터디를 제외하고 어떻게 만들어야 하나요?
강의 잘 듣고 있습니다!! 문제에선 월 3회는 온라인, 1회는 오프라인인데 각 스터디날짜들이 계속 겹치게 나오는데 어떻게 스터디날짜가 이전에 나온 스터디날짜와 겹치지 않고 출력할 수 있나요? ㅠㅠ
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
return에 대해서
안녕하세요 제가 std_weight에 대해 해답을 보기전 혼자 풀었거든요 def std_weight(height, gender): height = height / 100 if gender == "여성": return height * height * 22 elif gender == "남성": return height * height * 22 height = height/100을 함수 내에 저장을 했는데도 같은 답이 나왔어요 (무게) 근데 바로 전 비디오에서 return gun부분은 이해가 가는데 (내부에서 계산된 gun값을 외부로 뺐기 때문에 외부 gun값을 replace) 왜 이 함수는 return height * height * 22를 했는데도 불구하고 답이 나오나요? return이 헷갈리네요 ㅠㅠ
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
생성자가 제대로 작동하지 않습니다.
marine 생성자가 작동을 안합니다... 생성자를 전부 맞게 적은 것 같은데 다음과 같은 오류가 발생해요. line 113, in <module> m1 = Marine() TypeError: __init__() missing 4 required positional arguments: 'name', 'hp', 'speed', and 'damage' from random import *# 일반 유닛class Unit: def __init__(self, name, hp, speed): self.name = name self.hp = hp self.speed = speed print("{0} 유닛이 생성되었습니다.".format(name)) def move(self, location): print("[지상 유닛 이동]") print("{0} : {1} 방향으로 이동합니다. [속{2}]".format(self.name, location, self.speed)) 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 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 Marine(AttackUnit): def __int__(self): AttackUnit.__init__(self, "마린", 40, 1, 5) 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): seize_developed = False def __int__(self): AttackUnit.__init__(self, "탱크", 150, 1, 35) self.seize_mode = False def set_seize_mode(self): if not Tank.seize_developed: return # 현재 시즈모드가 아닐 때 -> 시즈 모드 if not self.seize_mode: print("{0} : 시즈모드로 전환합니다.".format(self.name)) self.damage *= 2 self.seize_mode = True else: print("{0} : 시즈모드를 해제합니다.".format(self.name)) self.damage /= 2 self.seize_mode = Falseclass 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 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): print("[공중 유닛 이동]") self.fly(self.name, location)class Wraith(FlyableAttackUnit): def __init__(self): FlyableAttackUnit.__init__(self, "레이스", 80, 20, 5) self.clocked = False def clocking(self): if self.clocked == True: print("{0} : 클로킹 모드 해제합니다.".format(self.name)) self.clocked = False else: print("{0} : 클로킹 모드 설정합니다.".format(self.name)) self.clocked = Truedef game_start(): print("[알림] 새로운 게임을 시작합니다.")def game_over(): print("Player : gg") print("[Player] 님이 게임에서 퇴장하였습니다.")# 게임 진행game_start()m1 = Marine()m2 = Marine()m3 = Marine()t1 = Tank()t2 = Tank()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 = Trueprint("[알림] 탱크 시즈 모드 개발이 완료되었습니다.")for unit in attack_units: if isinstance(unit, Marine): unit.stimpack() elif isinstance(unit, Tank): unit.set_seize_mode() elif isinstance(unit, Wraith): unit.clocking()for unit in attack_units: unit.attack("1시")for unit in attack_units: unit.damaged(randint(5, 20)) # 공격은 랜덤으로 받음# 게임 종료game_over()
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
출력 SynTaxerror
print("나는 오늘 풍선을 먹었다. 내 친구는 식인종이다. 식인종은 식인종이였지만, 식인종을 가능성이 있었지만 없어지는듯 했지만 있었다는 게 맞아지고 있었는데 아닐거 같다 추측이 나왔다가 없어졌닥가 다시 나왔다가 없어졌다가 나왔다.) 이게 뭔소린지 싶으실수도 있지만 진짜 이렇게 넣으니까 오류가 납니다... 왜 그럴까요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
extensions에서 python 검색이되지않습니다
이런식으로 we cannot connect to the extensions marketplace at this time, please try again later. 라고 나오는데 모가 잘못됐나요??
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
. 은 어떤 개념으로 이해해야 하나요?
[] 대괄호는 슬라이싱이듯 , 컴마랑 . 은 어떨 때 주로 쓰이나요? .은 그안에서? ,는 그리고?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
해당 경우엔 왜 age에 17이 들어가지 않는 걸까요?
def profile(name, age=17, *language): #다른 갯수의 변수를 넣어줄 때 사용가능 print("이름 : {}\t나이 : {}\t".format(name,age), end = " ") #이 문장이 끝나면 밑 문장을 바로 뒤에 연결해서 실행함 for lang in language: print(lang, end = " ") print() profile('유재석','python','java','c','c++','c#') profile('김태호','kotlin','swift')
- 해결됨파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
index 질문입니다
python = "Python is beautiful and amazing" index = python.index("n") print(index) index = python.index("n", index + 1) print(index) 이렇게 쓰면 첫번째 print는 첫번째 n이 어디 있는지 출력하고 그다음 식은 그다음 n이 어디에 있는지 나온다고 하셨잖아요. 그러면 첫번째 식은 python의 n을 출력하는거고 두번째 식은 and의 n을 출력하는 건데 그 다음에 amazing의 n은 몇 번째인지 어떻게 출력하나요? 제가 index = python.index("n", index + 2) print(index) 이렇게 + 1을 + 2로 바꿔보았는데 그냥 똑같이 and의 n을 인식해서 출력하더라고요.. 그다음, 그러니까 세번째 n을 출력하려면 어떻게 해야 하나요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
다른 멤버변수들과 location 차이
왜 굳이 location은 self.location으로 멤버변수 초기화 안하고 그냥 전달받은 값을 쓰는건가요? self.location = location 하고 attack 함수에서 .format(self.lcoation) 하면 차이 없을것 같은데 어떤경우에 멤버변수를 쓰고 어떤경우에 그냥 전달받은 값을 쓰는지 모르겠습니다
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
모듈불러오기 에러
import theater_module theater_module.price(3) 모듈파일을 만들고 불러오기를 시작하는데 AttributeError: module 'theater_module' has no attribute 'price'와 같은 에러가 계속해서 나타납니다. 어떻게 해야하나요?
- 해결됨파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
print 입력시에 줄 바꿈
선생님께서 출력하고 싶은 문자를 print("") 이렇게 해서 입력하셨는데, 줄을 바꿀때마다 print를 계속 입력하는게 조금 힘들어서요.print()를 한번만 쓰고 줄을 바꾸는 방법이 있나요? 그러니까 예를 들어서 print("우리집 강아지 이름은 해피입니다") print("해피의 취미는 낮잠자기 입니다") print("나는 해피를 무척 사랑합니다.") 이거를 print("우리집 강아지 이름은 해피입니다 해피의 취미는 낮잠자기 입니다 나는 해피를 무척 사랑합니다") 이렇게 한번만 print입력후에 줄을 바꿔봤는데 안되더라고요. 어떤 방법이 있을까요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
SyntaxError 질문드려요.
안녕하세요. 실습하며 강의 따라가고 있습니다. 그런데, 반복적으로 문법 에러가 나오는데 무엇인지 모르겠어요. vs코드를 껏다 키면 다시 제대로 동작하는 것 같아요. 무엇 때문이죠? 터미널에 나온 내용 첨부합니다. 감사합니다. sentence = '나는 소년입니다' print(sentence) # sentence2 = "파이썬은 쉬워요" # print(sentence2) # # sentence3 = """ # # 나는 소년이고, # # 파이썬은 쉬워요 # # """ # # print(sentence3) >>> & C:/Python38/python.exe "c:/Users/Desktop/PythinWorkspace/practiec.py" File "<stdin>", line 1 & C:/Python38/python.exe "c:/Users/Desktop/PythinWorkspace/practiec.py" ^ SyntaxError: invalid syntax
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
nums.append 두번째 줄이 인식이 안됩니다.
try: print("나누기 전용 계산기입니다.") nums = [] nums.append(int(input("첫 번째 숫자를 입력하세요 : ")) nums.append(int(input("두 번째 숫자를 입력하세요 : "))) nums.append(int(nums[0]/nums[1])) print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2])) except ValueError : print("에러! 잘못된 값을 입력하였습니다.") except ZeroDivisionError as err: print(err)
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
시즈모드가 활성화가 안됩니다.
from random import* #일반 유닛 class Unit: #부모 클래스 def __init__(self, name, hp, speed): self.name = name self.hp = hp self.speed = speed print("{0} 유닛이 생성되었습니다".format(name)) def move(self, location): print("{0} : {1} 방향으로 이동합니다. [속도 {2}]"\ .format(self.name, location, self.speed)) 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 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 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): # 시즈모드 : 탱크를 지상에 고정시켜, 더 높은 파워로 공격 가능. 이동 불가 seize_developed = False # 시즈모드 개발여부 def __init__(self): AttackUnit.__init__(self, "탱크", 150, 1, 35) self.seize_mode = False def set_seize_mode(self): if Tank.seize_developed == False: return # 현재 시즈모드가 아닐 때 -> 시즈모드 if self.set_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 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 FlyableAttackUnit(AttackUnit, Flyable): # 다중상속 def __init__(self, name, hp, damage, flying_speed): AttackUnit.__init__(self, name, hp, 0, damage) # 지상 speed는 0으로 처리 Flyable.__init__(self, flying_speed) def move(self, location): self.fly(self.name, location) # 레이스 class Wraith(FlyableAttackUnit): def __init__(self): FlyableAttackUnit.__init__(self, "레이스", 80, 20, 5) self.clocked = False #클로킹 모드 (해제 상태) def clocking(self): if self.clocked == True: # 클로킹 모드 -> 모드 해제 print("{0} : 클로킹 모드 해제합니다.".format(self.name)) self.clocked = False else : # 클로킹 모드 해제 -> 모드 설정 print("{0} : 클로킹 모드 설정합니다.".format(self.name)) self.clocked = True def game_start(): print("[알림] 새로운 게임을 시작합니다.") def game_over(): print("Player : gg") # good game print("[Player] 님이 게임에서 퇴장하셨습니다.") # 실제 게임 시작 game_start() # 마린 3기 생성 m1 = Marine() m2 = Marine() m3 = Marine() # 탱크 2기 생성 t1 = Tank() t2 = Tank() # 레이스 1기 생성 w1 = Wraith() # 유닛 일괄 관리 (생성된 모든 유닛 append) 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.clocking() # 전군 공격 for unit in attack_units: unit.attack("1시") # 전군 피해 for unit in attack_units: unit.damaged(randrange(5,21)) # 공격은 랜덤으로 받음 (5~20) # 게임종료 game_over()
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
질문1
사당, 신도림, 인천공항 출력할 때마다 변수값 바꿔주지말고, 단 한번 print문 실행하는걸로 사당행 열차가 들어오고 있습니다. 신도림행 열차가 들어오고 있습니다. 인천공항행 열차가 들어오고 있습니다. 순서대로 3문장이 한번에 출력되도록은 어떻게해야하나요?
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
print에
print에 str을 안넣고 그냥 ,date,로 했는데도 ()일로 선정되었다고 자연스레 뜨는데 str을 넣고 안넣고의 차이가 어떤건가요? print("매월 정모 날짜는",date,"일 입니다")
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
교수님 nameerror : name 'random' is not defined 라는 오류가 터미널에 뜹니다
(사진)
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
안녕하세요 지금 예문을 복습중인데요
def profile(name , age, *language): print("이름 : {0}\t나이 :{1}\t".format(name, age), end=" ") for lang in language: print(lang, end=" ") print() profile("유재석", 20, "python", "java", "C", "C++", "C#", "JavaScript") profile("김태호", 25, "kotlin", "Swift") 이렇게 그대로 하면서 가변인자를 확인하고있어어요. 근데 계속 IndentationError: unindent does not match any outer indentation level 라고 뜨면서 실행이 안됩니다. 어쩐일일까요?? 답변주시면 감사드릴게요
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
python IDLE
맥북으로 강의 듣고 있는데 vscode로 파이썬 익스텐션 설치 안하고 파이썬 IDLE로 해도 강의 끝까지 시청 가능한가요
- 미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
기본값 설정 궁금한 점이 있습니다.
def profile(name, age=17, main_lang="파이썬") : 이런식으로 기본값을 설정해두고, profile("유재석")만 입력하면 나이랑 주 사용언어는 기본값이 출력되는것을 확인 했습니다. 여기서 profile("유재석", 20) 까지 입력하면 입력되지 않은 세번째 값은 기본값이 출력되는것을 확인 했습니다. 혹시 여기서 두번째인 나이는 기본값을 출력하게 하고, 세번째의 주 사용언어만 입력값을 출력하게 하는것도 가능한가요? profile("유재석", (기본값 출력되게) ,"자바")