20220905 TIL

2022. 9. 5. 23:39TIL(Today I Learnd)

    목차

파이썬 특강으로 하루가 시작됐다.

 

팀원들이 슬랙 방에 대답이 없어서 조금 서운함을 느끼며 강의에 들어갔다 ㅋㅋ

 


 

파이썬 특강 

 

파이썬의 특징

 

c언어나 자바 등 여러가지 언어들의 특징을 얘기해주시고 파이썬과 비교해주시는데

 

레미콘은 엔진이 어떤게 들어가고 어떤 기름이 들어가는데 어디에 쓰면 좋다.

지게차는 엔진이 어쩌고 어떤 기름이 들어가고 어떻게 운전하는데 어디에 쓰면 좋다.

우리가 운전할 굴삭기는 어떤 엔진을 쓰고 어떠한 방식으로 작동한다.

 

라고 하는 듯한 느낌을 받았다.

 


코드 컨벤션

 

코드를 서로가 알아볼 수 있도록 약속하는 코드 평준화?

협업 뿐만 아니라 내가 나중에 코드를 다시 봤을 때 이해할 수 있게 하는 장치이다.

 

파이썬은 PEP-8이라는 컨벤션 가이드가 있다고 하는데  나중에 알아보자

 

네이밍 컨벤션은

변수/ 함수를 네이밍 할 때 Snake 표기법

Class를 네이밍 할 때 Pascal로 표기한다

 

Pascal은 각 단어를 대문자로 구별함

Camel은 Pascal이랑 같은데 첫문자가 소문자임

 

근데 Pascal을 Upper Camel로 부르는 경우도 있다고 한다.

 

Snake는 각 단어를 언더바(_)로 구분한다.

 

클래스나 함수를 네이밍 할 때는 Snake

def some_Function_name():

some_variable_name = 'Hello World!'

 

상수는 모든 문자를 대문자로 표기함

PIE = 3.14

 

list를 표기할 때는 복수로

numbers = {1,2,3,4} 또는 number_list

 

반복문은

for number in numbers:

이렇게 표기한다고 한다.


진도 나가기

 

requests 패키지를 공부하려 햇으나 homebrew가 이상하게 설치 됐는지 터미널에서

zsh: command not found: $

zsh: command not found: pip

zsh: command not found: python

 

라면서 pip가 안되길래 여러 가지 방법을 구글링 해봤고 나와 같은 문제를 겪는사람들이 꽤 있었다.

 

어떤 명령어를 치니까 플러터 패키지가 설치돼 있는 경로들을 띄워줬는데 그 것 때문인가 싶기도 했는데 일단 방법을 모르니 사람들이 시도한 방법들을 따라해보기로 했다.

 

https://falaner.tistory.com/27

 

[python] 맥(macOS) pip 설치하기

1.pip란 pip는 파이썬 패키지 관리 시스템이다. 파이썬 패키지와 모듈을 설치하고 관리하는데 사용한다. vscode로 파이썬을 사용하다보면 pylint 를 설치하라고 뜨는데 pip로 설치할 수 있다. 2. pip 설

falaner.tistory.com

여기를 따라 재설치도 해보고

 

 

https://velog.io/@palette/zsh-command-not-found-nvm-오류해결법

 

zsh: command not found: nvm 오류해결법

맥에서 nvm 설치할 때 발생하는 오류 해결하기

velog.io

혹시나 싶어서 여기도 따라 해봤지만 해결을 할 수 없었다.

 

https://kyhyuk.tistory.com/m/185

 

hombrew 설치 및 zsh: command not found 해결

터미널에서 버전확인을 위해 npm -v 입력했을 때 이런식으로 나오길래 당황해서 구글링으로 해결했는데 나중에 똑같은 에러가 발생했을 때를 위해 기록해 두려고한다. zsh: command not found: npm zsh: co

kyhyuk.tistory.com

여기를 따라하니까 $ 명령어 말고 ! pip install requests 하니까 뭐가 설치된다

requests 설치

selenium 설치 (이건 왜 받는지 모르지만 받아봄 ㅋㅋ)

 

bs4 설치 (얘도 ㅋㅋ)

 

하... 막힌 속이 뻥 뚫림.. 근데 이걸 3시간 넘게 찾아보고 있었다는게 문제임

 

 


...인 줄 알았으나

 

X발 진짜 장난하나

 

 이러면서 vs코드가 미쳐갖고 작동을 안한다.

 

대체 왜 그러는건데..?

 

https://github.com/formulahendry/vscode-code-runner/issues/351#issuecomment-416806210

 

code-runner not working · Issue #351 · formulahendry/vscode-code-runner

I just installed VSCode recently (v1.26.1) on MacOS 10.13.6 and added code-runner. I tried it on a Python file and nothing happened upon executing "Run Code", either with anything selecte...

github.com

하나하나 정독 해봤다... 보니까 vs코드 자체적 문제인거 같기도 헌데...

 

정독하면서 vscode 껐다 켰다 하는데

얘 한번 설치해볼래? 해서 ㅇㅇ 했더니 또 되는 것 같다

 

인 줄 알았는데 이게 뭔데?

 

진짜 ^^lBal 장난하나

나한테 왜 그러는데?

라고 할뻔 ㅋ 맨탈 잡고 주님 찾고 바로 다시 검색함 ㅋ

 

https://www.cckn.dev/Tools/vs-code---typescript-+-nodejs-%EB%94%94%EB%B2%84%EA%B9%85%EC%9D%B4-%EC%95%88%EB%90%A0-%EB%95%8C(code-127)/ 

 

VS Code - Typescript + NodeJS 디버깅이 안될 때(code 127)

3줄 요약 VS Code로 TS를 디버깅하는데 127 Error가 발생한다면 에 task를 생성하고 파일을 변경하면 해결됩니다. 개요 Javascript와 NodeJS를 이용하던 프로젝트를 성공적으로 Typescript로 마이그레이션 하

www.cckn.dev

좋은 선생님 또 발견 ㅋ

 

그런데... 튜터 님을 찾아 갔더니 별 것도 아닌걸로 골치 썩고 있었단 것을 알게됨

 

삼각형 모양 눌러서 바로 실행시키는게 아니라

python 파일 실행 눌러서 실행시키면 작동됨 ㅋ


백준 문제 14681 사분면 표시하기

 

x = int(input())
y = int(input())

if x+y > 0 and x*y > 0:
    print('1')
elif x+y < 0 and x*y < 0:
    print('2')
elif x+y < 0 and x*y > 0:
    print('3')
elif x+y > 0 and x*y < 0:
    print('4')

왜케 생각을 복잡하게 해서 더하고 곱하고 했는지 모르겠음 ㅋㅋ

그냥 숫자 따로 따로 봤으면 됐는데 ㅋㅋㅋㅋ

 

vs코드로 실행시켜보면 맞는 결과값이 도출되는데 백준에서는 틀렸다고 뜸 ㅠㅜ

하지만 수정하지 않겠다.

 


백준 문제 2884 알람시계를 낑낑 대며 오르고 나서

 

시간 입력시 45분 미리 알람 설정

H, M = map(int, input().split(' ')) # 변수 반복문 선언

if M> 44: # M이 45와 같거나 많으면
    print(H, M-45) # H와 M - 45의 값을 공백하나 간격 두고 출력할거야
elif M<46 and H>0: # 그런데 M이 45보다 작고 H가 0보다 크다면
    print(H-1, M+15) # H-1 과 M + 15를 공백 하나 두고 출력해버릴거야
else:
    print(23, M+15) # 그 외에는 23과 M + 15의 값을 공백 하나 두고 출력하렴
H, M = map(int, input().split())

if M > 44:
    M -= 45
elif M < 46 and H > 0:
    M += 15
    H -= 1
else:
    H = 23
    M += 15

    
print(H, M)

# 위와 같은 결과 값을 내나 값들에만 조건을 주고 마지막에 출력 함

2525 오븐타이머로 들어왔는데...

 

빅스비 넌 도대체 어떤 싸움을 하고 있던거야...?

 

분을 갖다 시간으로 환산하는 것은 환장할 노릇... 어휴,,,,

 

분단위로 시간 입력시 몇시 몇분 까지 완료 되는지 표시하는 타이머

H, M = map(int, input().split()) # H, M 변수 선언 둘은 공백으로 나뉘며 값을 입력받을 것이고 정수형임
C = int(input()) # C 변수 선언 값을 입력받을 것이고 정수형임

H += C//60 # H 변수에 H + (C를 60으로 나눈 나머지)를 저장해
M += C%60 # M 변수에 M + (C를 60으로 나눈 몫)을 저장해

if M >= 60: # 만약 M이 60보다 크거나 같으면
    H += 1 # H에는 H+1의 값을 저장해
    M -= 60 # M에는 M-60의 값을 저장해
if H >= 24: # 만약 H가 24보다 크거나 같으면
    H -= 24 # H에 H - 24의 값을 저장해
    
    
print(H, M) #H와 M을 출력해봐

 

그래... 오늘은 여기까지..ㅎ

'TIL(Today I Learnd)' 카테고리의 다른 글

20220907 TIL  (0) 2022.09.07
20220906 TIL  (0) 2022.09.06
20220902 TIL  (0) 2022.09.02
20220901 TIL  (0) 2022.09.01
20220831TIL  (2) 2022.08.31