<오늘 배운 것 & 문제>
1. vscode 가상환경에서 requests 모듈이 import 되지 않는 문제...
- 노트북을 바꿔서 모두 다 새로 설치해야 했다
- 처음엔 venv 가상환경 폴더도 생성이 안 됐었다
- 환경변수를 설정해야 하는 문제라는데..이전 노트북에서 vscode를 설치하고 가상환경을 만들 때는 일어나지 않았던 문제였다...왜 이런 일이 일어난 걸까
- 가상환경 생성 명령어를 작성해도 python 만 나와서 열심히 구글링 했는데도 해결을 못했다
- 결국 매니저님께 도움을 요청해서 어떻게 어떻게 했더니 가상환경 폴더는 잘 만들어졌다
- 근데 내가 원래 아는 명령어인 python -m venv venv 가 아니고 python -m venv venv --without-pip 를 입력해야 한다..........휴.........
- 여튼 이렇게라도 해결이 돼서 다행인데 requests 는 왜 import가 되지 않는걸까........
- 드디어 찾았다
- https://www.inflearn.com/questions/388018 여기서 힌트를 얻었다
- 가상환경 폴더 생성 오류를 겪기 전에 microsoft store에서 파이썬을 설치했었다
- 근데 Python 설치와 환경설정 (VScode에서 파이썬 사용하기) (velog.io) 여기서 알려주는대로 하다보니 파이썬을 https://www.python.org/downloads/ 여기서도 다운받게 된 것이었다
- 그래서 파이썬이 2개가 돼서 import가 안 되는 거였다
- 마이크로소프트 스토어에서 받은 파이썬을 삭제했더니 import가 잘 된다!
- 아니다...안 된다 ..그대로 requests에 밑줄이 쳐있다
- 뭐가 문제였는지 아직도 모르겠지만...그냥 프로젝트 폴더를 다 삭제하고 처음부터 다시 .py 파일 만들고 가상환경 생성하고 활성화하고 모듈 설치했더니 됐다....ㅇ-<-<.....
- 다 삭제하고 새로 하는데 python -m venv venv 했을 때 activate 파일이 생성되지 않았었는데 왜 그러는 건지 검색하다가 다시 vscode 로 돌아오니 뒤늦게 생성이 됐다 그래서 python -m venv venv --without-pip은 입력할 필요는 없었다
- 환경설정 하다가 하루가 다 가다니.........다른 동기분들은 게임도 만들고 하던데...난 아직 아무것도 못했다...ㅠ
2. 파이썬 문법 심화 강의 완강
- 영상을 다 보기는 했는데....사실 머리에 남는 건 거의 없는 것 같다...당최 무슨 소리인지.....해봐야 알 것 같다
- 내배캠에서 제공한 핸드북을 차근차근 읽어봐야겠다
3. 알고리즘 문제 1
- 무척 간단해 보이는 문제!!
- 7번만에 풀었다 맨 앞에 언어 실수한 거 빼면 6번...중간에 수정하다가 .을 ,로 찍은 거 빼면 5번,,, )를 안 닫은 거 빼면 4번...!!!
a, b = map(int, input().split())
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
- 부끄러운 나의 1번째 답안
a, b = map(int, input().split())
if 1 <= a,b <= 10000:
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
- 여전히 부끄러운 나의 2번째 답안 ㅎㅎ;;;
a, b = map(int, input().split())
if 1 <= a <= 10000 and 1 <= b <= 10000:
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
- 오 뭔가 정답에 가까워져 가는 것 같아 보이는 3번째 답안!
a, b = map(int, input().split())
if 1 <= a <= 10000 and 1 <= b <= 10000:
print("%d" % (a+b))
print("%d" % (a-b))
print("%d" % (a*b))
print("%d" % (a/b))
print("%d" % (a%b))
- 드디어 정답!! %d 를 사용해서 정수로 표현하는 방법을 구글링을 해서 알아냈다!
- 알고리즘 문제 참 어렵구나....다음 문제에서 또 막힘
- 아무래도 개념 공부를 더 해야 할 거 같기도 하다 핸드북 정독해야겠다
4. 알고리즘 문제 2
- 이건 islower() 함수가 필요한 문제다
- 무려 2번의 시도만에 정답을 맞췄다!
- 첫 번째 시도는 미만과 이하를 생각 하지 않아서 틀렸다
name = input()
name_len = len(name)
if name.islower():
if name_len < 50:
print(name+'??!')
else:
print("50자 이내로 작성해주십시오.")
else:
print("소문자로만 작성해주십시오.")
- 두 번째 시도는
if name_len <= 50:
- 이렇게 수정했다! 그랬더니 정답이란다!
name = input()
name_len = len(name)
if name.islower():
if name_len <= 50:
print(name+'??!')
- 문제에서 요구한 사항만 넣어서 코드를 조금 줄여보았다
name = input()
name_len = len(name)
if name.islower() and name_len <= 50:
print(name+'??!')
- if문을 and로 이어서 하나로 만들었다! 뭔가 의미있는 단축을 한 것 같다!
<느낀점>
- 4시까지 기초 설정 문제로 시간을 낭비한 것 같아서 불안했는데 그래도 나름 강의도 다 듣고 알고리즘 문제도 몇 개 풀 수 있어서 다행이다
- 다른 동기분들은 게임도 만들고 응용을 엄청 잘 하시는데 나는 아직 이런 문제밖에 못 푼다니 흑흑 ㅠㅠ