20220923 TIL

2022. 9. 23. 22:00TIL(Today I Learnd)

    목차

야호야호

 


타임어택

 

1. 전역변수와 지역변수 구분하기

아래 코드에서 a, b 변수가 지역변수인지 / 전역변수인지 구분하고, 코드 실행 없이 결과를 예상해서 적어주세요

답변 예제

a = 10

def test1():
    b = 20

def test2():
    print(a)
    print(b)

test1()
test2()
# 실행이 잘 될까요?
# 실행이 되지 않는다면 어떤 에러가 발생할까요?

2. mutable과 immutable 구분하기

mutable에 해당하는 자료형과 immutable에 해당하는 자료형을 적어주세요

답변 예제

mutable
 - ~
 - ~

immutable
 - ~
 - ~

3. filter/map 혹은 리스트 축약식 활용해서 리스트 다뤄보기

아래 문제를 filter와 map 함수 혹은 리스트 축약식을 활용해 풀어주세요

  1. 1부터 10000까지의 숫자를 numbers 변수에 할당해주세요
  2. 1부터 10000까지 숫자 중, 짝수에 해당하는 숫자만 even_numbers 변수에 할당해주세요
  3. 1부터 10000까지의 숫자 중, 3의 배수이며 15의 배수가 아닌 숫자에 10을 곱하여 some_numbers 에 할당해주세요

입출력 예제

def get_even_numbers(numbers):
    result = []
    # some code
    return result

def get_some_numbers(numbers):
    result = []
    # some code
    return result

def main():
    numbers = [] # 1 ~ 10000
    even_numbers = get_even_numbers(numbers)
    some_numbers = get_some_numbers(numbers)
    print(even_numbers) # [2, 4, 6, ...]
    print(some_numbers) # [30, 60, 90, 120, 180, ...]
    
main()

4. lambda를 활용해서 정렬해보기

입출력 예제

from pprint import pprint

users = [
    {"name": "Ronald", "age": 30, "math_score": 93, "science_score": 65, "english_score": 93, "social_score": 92},
    {"name": "Amelia", "age": 24, "math_score": 88, "science_score": 52, "english_score": 78, "social_score": 91},
    {"name": "Nathaniel", "age": 28, "math_score": 48, "science_score": 40, "english_score": 49, "social_score": 91},
    {"name": "Sally", "age": 29, "math_score": 100, "science_score": 69, "english_score": 67, "social_score": 82},
    {"name": "Alexander", "age": 30, "math_score": 69, "science_score": 52, "english_score": 98, "social_score": 44},
    {"name": "Madge", "age": 22, "math_score": 52, "science_score": 63, "english_score": 54, "social_score": 47},
    {"name": "Trevor", "age": 23, "math_score": 89, "science_score": 88, "english_score": 69, "social_score": 93},
    {"name": "Andre", "age": 23, "math_score": 50, "science_score": 56, "english_score": 99, "social_score": 54},
    {"name": "Rodney", "age": 16, "math_score": 66, "science_score": 55, "english_score": 58, "social_score": 43},
    {"name": "Raymond", "age": 26, "math_score": 49, "science_score": 55, "english_score": 95, "social_score": 82},
    {"name": "Scott", "age": 15, "math_score": 85, "science_score": 92, "english_score": 56, "social_score": 85},
    {"name": "Jeanette", "age": 28, "math_score": 48, "science_score": 65, "english_score": 77, "social_score": 94},
    {"name": "Sallie", "age": 25, "math_score": 42, "science_score": 72, "english_score": 95, "social_score": 44},
    {"name": "Richard", "age": 21, "math_score": 71, "science_score": 95, "english_score": 61, "social_score": 59},
    {"name": "Callie", "age": 15, "math_score": 98, "science_score": 50, "english_score": 100, "social_score": 74},
]

# some code

pprint(users, width=300, sort_dicts=False)
"""
[{'name': 'Ronald', 'age': 30, 'math_score': 93, 'science_score': 65, 'english_score': 93, 'social_score': 92},
 {'name': 'Trevor', 'age': 23, 'math_score': 89, 'science_score': 88, 'english_score': 69, 'social_score': 93},
 {'name': 'Callie', 'age': 15, 'math_score': 98, 'science_score': 50, 'english_score': 100, 'social_score': 74},
 {'name': 'Sally', 'age': 29, 'math_score': 100, 'science_score': 69, 'english_score': 67, 'social_score': 82},
 {'name': 'Scott', 'age': 15, 'math_score': 85, 'science_score': 92, 'english_score': 56, 'social_score': 85},
 {'name': 'Amelia', 'age': 24, 'math_score': 88, 'science_score': 52, 'english_score': 78, 'social_score': 91},
 {'name': 'Richard', 'age': 21, 'math_score': 71, 'science_score': 95, 'english_score': 61, 'social_score': 59},
 {'name': 'Jeanette', 'age': 28, 'math_score': 48, 'science_score': 65, 'english_score': 77, 'social_score': 94},
 {'name': 'Raymond', 'age': 26, 'math_score': 49, 'science_score': 55, 'english_score': 95, 'social_score': 82},
 {'name': 'Alexander', 'age': 30, 'math_score': 69, 'science_score': 52, 'english_score': 98, 'social_score': 44},
 {'name': 'Andre', 'age': 23, 'math_score': 50, 'science_score': 56, 'english_score': 99, 'social_score': 54},
 {'name': 'Sallie', 'age': 25, 'math_score': 42, 'science_score': 72, 'english_score': 95, 'social_score': 44},
 {'name': 'Nathaniel', 'age': 28, 'math_score': 48, 'science_score': 40, 'english_score': 49, 'social_score': 91},
 {'name': 'Rodney', 'age': 16, 'math_score': 66, 'science_score': 55, 'english_score': 58, 'social_score': 43},
 {'name': 'Madge', 'age': 22, 'math_score': 52, 'science_score': 63, 'english_score': 54, 'social_score': 47}]
"""

 

 

내가낸 답

그냥 모르는 것같다 ㅎㅎ

def get_even_numbers(numbers):
    result = [0]
    for i in range(1, numbers):
        result.append(i)
    # some code
    return result



def get_some_numbers(numbers):
    result = []
    for i in range(numbers, 10001, 2):
            result.append(i)

    return result
get_some_numbers(0)



def main():
    numbers = []
    even_numbers = get_even_numbers(10001)
    some_numbers = get_some_numbers(0)
    print(even_numbers) # [2, 4, 6, ...]
    print(some_numbers) # [30, 60, 90, 120, 180, ...]
    

main()

 

 


Django

git에 장고 프로젝트를 업데이트 할 때는 venv폴더를 제외한다.

.gitignore 파일을 만들고

파일 안에

venv/

를 입력해주면 venv폴더를 제외시킨다.

장고는 프로젝트에 따라 사용되는 모듈도 다르고 관리를 따로 해주는데

requirements.txt 파일에서 관리가 된다.

현재 설치된 모듈 리스트를 requirements.txt 파일로 만들어주는 명령어는

pip3 freeze > requirements.txt

방금 설치한 art 5.7버전의 모듈이 등재 돼있다.

 

만약 다른 프로젝트를 함께 진행하려고 한다면 그 프로젝트에서 사용되는 모듈을 설치해줘야된다.

그럴 때는 가상환경을 실행해주고 interpreter도 잘 설정해준다음

pip3 install -r requirements.txt

해주면 requirements.txt에 등재된 모듈이 한번에 설치된다.

 

.gitignore파일안에 들어갈 내용들을 만들어주는 사이트가 있다.

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

접속해서

django

macos

visualstudiocode

해줘서 생성해주면

이런게 나오는데 다 복사해서 .gitignore파일에 붙여넣고

venv를 이렇게 넣어주자

설정을 해주고 git과 연동해주자

레포지토리를 생성해주는데 reademe는 여기서 만들어주지 않는다.

주소를 복사하고 터미널에

git init #git 실행
git remote add oring https://github.com/OceanGim/django_prectice.git
						#자신의 레포주소
git add .
git commit -m 'init'
git push origin master # 여기서 권한설정 뭐 뜰건데 항상허용 해줘버리자...

해주면

아름답게 커밋된 것을 확인 할 수 있다.

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

20220927 TIL  (0) 2022.09.27
20220926 TIL  (0) 2022.09.26
20220922 TIL  (1) 2022.09.22
20220921 TIL  (2) 2022.09.21
20220920 TIL  (1) 2022.09.20