0905 TIL

looggi·2022년 9월 5일
1

스파르타 내배캠 AI-3

목록 보기
6/130
post-thumbnail

0903-04zzz

  • GUI: 홈페이지, 어플리케이션에서 사용하는 버튼처럼 그래픽적 요소를 사용해서 프로그램과 소통하는 방식
  • CUI: 명령 프롬프트나 터미널처럼 문자를 이용해서 프로그램과 소통하는 방식
  • 계산기 만들기
    visualstudiocode 사용
  • 모듈: 내가 미리 만들어놓은 함수들을 저장해놓은 파일 ->(대화형 모드에서..)꺼내먹어요~~!
    Using the module name you can access the functions
    https://docs.python.org/ko/3/tutorial/modules.html

파이썬 강의 by 이창호 튜터

  • 코드 컨벤젼: 코딩 스타일을 규격화(?)한다.
    누가 봐도 어떤 코드인지 파악할 수 있도록
    https://peps.python.org/pep-0008/
  • 변수 선언시 두개 이상을 한번에 선언할 수 있다.
  • 변수 선언시 단일문자를 변수로 사용하지 않는다.
  • 파이썬에 이미 선언되어있는 메소드를 변수명으로 지정하고 싶을 때엔 뒤에 _언더바를 추가한다.
  • 자료형 중 float 는 가능한 사용하지 않는다.
  • 변수의 유효범위: 전역변수/ 지역변수
    - 함수 내에서 전역변수 값을 바꾸려면 global 변수
    전역변수는 traceback이 어렵기 때문에 권장하지 않는다.(전역상수말고!)
    근데 global로 바꾸면 안좋은건 직관적으로 알겠는데 전역변수 자체도 어느 함수에 들어가있는 게 아니라서 찾기가 어렵다 이런 의미에서 안좋은건가?(=>Source code is easiest to understand when the scope of its individual elements are limited.)
    http://wiki.c2.com/?GlobalVariablesAreBad

효율적 공부법 by 강민철 튜터

  • 문제 해결력을 높이기 위한 cs지식(computer science)
    • 자료구조(코딩테스트를 통해 알게 될 것)
    • 알고리즘(나만의 로직을 가지고 코드를 쓰는 것)
    • 네트워크(공부를 하다보면 모를 수 없음)
    • 데이터베이스
    • 컴퓨터 구조/운영체제(오류메세지를 잘 이해할 수 있다.)
      ->(요건 알면 +++ 몰라도 ok)
  • 코딩 학습 순서: 프로그래밍 언어-> 프레임워크/라이브러리-> 프로젝트-> 프로젝트 발전+코테 대비
    -> 초심자가 1,2 단계를 깊게 파면 속도가 현저히 느려짐(비추)
    다른 언어/프레임워크라고 다 공부하
    -> 3단계: 이 코드를 여기에 왜 썼는지!! 를 줄줄이 말할 수 있는 게 중요함⭐⭐=TIL..어디가 어려웠고 이걸 왜썼고 어떻게 했다..?
    -> 발전: 사용자의 피드백 경험/
    -> 코테 대비: 정형화되어있음 개념잡기->그림그리기->코드로 옮기기

  • 빽준 열시미하쟈(유형별로 추가로 풀어봐랏)

  • 일과 후엔 프론트/백 중 하나를 선택해서 파보는 것이 좋다

  • 기타
    잔디심기?- 깃허브 커밋 수.. 별 의미 없음.. 근면함..?
    테크니컬 라이터?-개발 경력이 있어야함
    넥카라쿠베?? 뭐 이래 모르는 게 많냐하냐면.. 희희.. 난 모르니까 희희..


h,m=map(int,input().split())
t=h*60+m+int(input())
print(t//60%24,t%60)

-> 빽준 오븐 문제 넘 천재적인 것 같아서 가져옴
나는 열줄씩 되는데 이거 .. 아예 처음부터 오븐이 '분'단위로 들어오니까 분으로 싹 바꿔서 계산한게 진짜 신의 한수임.. 몇분을 넣어도 끄떡 없음.. 나는 1000까지만 가능한데(range씀) 이건 걍 만능임. 최고다


0905 뻭준

오류.. 대박남.. 희희 신난다..

#8393

TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'
-> 이미 내장된 함수/메서드(sum)을 변수로 지정해서 사용해서 오류남 += 안쓰고 그냥 풀어서 씀

#25304

IndexError: list assignment index out of range

#15552

  • ValueError: invalid literal for int() with base 10: ' '
    ->base 10: 10진수
    밸류에러 자체가 자료형을 변환할 때 자주 나타남
  • ValueError: 작업 중 유효하지 않은 값을 마주 했을 때 일어난다.
import sys

t = int(input())
for i in range(t+1):
    a, b = map(int, sys.stdin.readline().split())
    print(a+b)

그럼 안쓰는 i가 있어서 그런 것 같은데.. 저걸 이렇게 빼면..->for a, b in range(t+1) 또 다른 에러^^
-> TypeError: cannot unpack non-iterable int object
a,b 는 정수형 변수라 저 자리에 쓰는 게 아니란말이지..

=> 결국 t+1 만 t로 바꾸니까 해결됐다. t에 그냥 1 더한건데 그걸 계산을 못했을리가 없는데 도대체 왜 그게 밸류에러지??

  • NameError: name 'sys' is not defined
    ->import sys를 빼서그럼
  • 오답
import sys

t = int(input())
for i in range(t+1):
    list_ = list(map(int, sys.stdin.readline().split()))
    result = sum(list_)
    print(result)

실행시켜보면 잘 나오는데 틀린 이유가 도대체 뭘까???는 t+1때문이었음 ㅋㅋㅋ 미쳤나봐진짜 나 왜이래..근데 쟤가 돌아가는 코드긴 한거같은데 왜 위에서는 쟤때문에 밸류에러가 난거지????????????

#2439

  • 출력 형식이 잘못되었습니다.
n = int(input())
for i in range(n):
    print(' '*(n-i-1),'*'*(i+1))

,를+로 바꾸면 ok
왜 바꿔야되는거지??

#10871

  • EOFError: 입력 도중 파일의 끝을 만남.. end of file.. 갑자기 왜 만났니..(입력이 없는데 입력을 받으려고 함)
    첫번째 for문에서 계속 반복이 돼서 그럼-코드가 끝나지 않음
n, x = map(int, input().split())
new_list = []
for i in range(n):
    list_ = list(map(int, input().split()))
    for i in list_:
        if x > i:
            new_list.append(i)
    # print(new_list.pop())
    print(*new_list)
# list.pop(순서)

#10951

  • 그 전 문제부터 EOFError가 자꾸 나서 진짜진짜 만에 하나라는 심정으로 try except 썼는데 맞음.. 정말 이거 쓰라고 낸 문제였나??(그렇다고 하심)
while 1:
    try:
        a, b = map(int, input().split())
        print(a+b)
    except EOFError:
        break

참고) if 1: 은 결과값이 당연히 한번만 나온다. if 는 그냥 조건문이고 while은 조건 반복문임.!


#1110

while 조건을 적당한 걸 찾아서 조건으로 돌아오게 하고 싶은데 그게 잘 안된다...
for 이어도 range를 써서 범위를 줘야한느데..아우스발..

profile
looooggi

0개의 댓글