마지막에 노동법 준수하는 if식을 넣은 뒤 에러가 나는데요
298
投稿した質問数 3
Traceback (most recent call last):
File "C:/Python_Study/14. Advanced reading and writing file.py", line 43, in
emp.name,emp.work_start,emp.work_finish,emp.wage_per_hour,emp.worked_hours(),emp.wage_of_the_day()
File "C:/Python_Study/14. Advanced reading and writing file.py", line 23, in wage_of_the_day
return self.worked_hours()self.wage_per_hour
TypeError: unsupported operand type(s) for : 'NoneType' and 'int'
이런 에러가 납니다.
내용은 영상과 종일하게 넣은거같은데 뭐가 문젠지 잘 모르겠네요 int선언을 안해준 것인지..
=============================================================================
추가적으로 이것저것 해보다보니 if식에서 if worked_hours>4 로 하면 위와같은 에러가 나는데
if worked_hours >=4 로 하면 에러가 안나네요..
回答 1
0
앗. 소스코드에 오류가 있어요. 근무시간이 4와 같거나 작은 모든 경우에는 현재 영상대로 하면 에러가 날겁니다.
def worked_hours(self):
worked_hours = self.work_finish - self.work_start
if worked_hours > 4:
breaktime = worked_hours // 4 * 0.5
worked_hours = worked_hours - breaktime
return worked_hours # <-----------이 부분 4칸 들여쓰기를 원래 비디오 속의 코드보다 한번 덜해야 합니다.
로 수정해보세요.
즉, return worked_hours 앞의 네칸 들여쓰기를 한번 덜하셔야 합니다.
제가 영상에 남겨놓은 소스코드에서 오류를 뿜는 이유는 worked_hours가 4보다 큰 경우에만 값을 return 하게 되어 있기 때문입니다. 수정한 코드에서는 worked_hours가 4보다 큰 경우에 breaktime을 계산 한 뒤, worked_hours를 수정하고, if 조건에서 빠져나간 뒤 return을 하라는 뜻입니다.
혼란을 드려서 죄송하고, 오류를 발견해주셔서 감사합니다.
작업형 1 유형 부분
0
9
1
수강평 이벤트
0
15
2
작업형 1 (삭제예정, 구 버전)
0
28
2
강의노트는 어디있나요?
0
15
1
노션 학습 자료 권한 요청
0
15
1
수강기간 연장 문의드립니다.
0
20
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
21
3
part2강의 문의사항입니다.
0
18
2
에러가 자꾸 뜨는데 코드에 문제가 있나요 ㅠㅠ
0
345
2
맥os 유저는 어떻게 하나요?.
0
412
1
엑셀파일과 csv파일 용도 차이는?
1
2395
2
만들고 싶은 프로그램이 있는데요...
0
235
1
강사님께서 영상 내에서 쓰신 단축키에 대해서 질문드립니다.
0
293
1
atom 을 쓰는데 오류가 났습니다ㅠㅠ
0
229
0
셀레늄 실행하면 해당 에러가 뜨고 정상적으로 크롤링 되지 않네요
0
321
1
df=df.sort_values(by=['시간당 생산','근무시간'],ascending=[False,False])
0
373
1
python-docx 오류 도와주세요
0
927
2
python-docx 오류 나요.
0
337
0
self나 __init__등 정확히 제대로 제 것으로 만들기가 힘들어요.(이해안가요)
4
23916
3
csv파일 엑셀에서 변환이 제대로 안됩니다.
0
373
1
employee_result 결과값이 나오긴 했는데 근무시간이 좀 이상해서요
0
264
2
20분경에 나오는 파이참 run 을 할때 에러가 나서 잘 안되는데 왜그럴까요?
0
433
2
seperated -> separated ^^
0
612
1
close() ?
0
290
1

