목록Python (24)
완숙의 블로그
Form.py 를 만들어 볼거다! 근데 왜? HTML로 만들었었는데?? 손으로 만드는데는 한계가 있어,, 맨날맨날 만들어줘야돼 서버로 보내는데 유효성 검사도 귀찮아 하나하나 바꾸는 것도 힘들어 그래서! 아예 만들어두고 하나씩 갖다쓰자 이거야! Form = MODEL Form 안에는 두가지 입력공간을 만들 수 있는데, 모델을 기반으로 한 입력공간 우리는 장고에서 default 로 사용하는 model 틀을 가져다가 쓸 것이기 때문에 import 해줘야 한다. from django import forms.ModelForm 임의의 입력공간 이녀석도 이미 만들어진 거 사용할거야! from django import forms.Form 모델 기반 입력공간 만들기 form.py # form.py from django ..
페이커??? 가짜 데이터! 가짜 데이터, 왜 필요할까? 데이터가 많은 상황을 염두해 둔 기능을 구현할 때 이것을 구현해보고 싶어서! 기본적으로 제공하는 기능이다! 실습 가상환경을 킨다. $ source myvenv/bin/activate faker를 설치한다. $ pip install faker 최상위 폴더에 fake.py 를 만들자. 여기서 주의해야하는점. 패키지 이름과 동일하게 파이썬 파일을 만들면 에러가 뜬다. faker import 하자. # fake.py from faker import Faker 이 페이커 객체의 메소드로 부터 어떤 종류의 가짜 데이터를 뽑아낼지 결정이 가능하다. # fake.py from faker import Faker myfake = Faker() myfake.name()..
views.py 와 home.html 두 개만 건들여보자. 우리는 blog 앱에 대해 수정할 거다. pagination을 사용하기 위해서 views.py 에 import 하자. # views.py from django.core.paginator import Paginator views.py 의 home 함수를 고칠 거니, # views.py def home(request): blogs = Blog.objects return render(request, 'home.html', {'blogs':blogs}) 하나씩 작성해보면, # views.py def home(request): blogs = Blog.objects # 블로그 모든 글을 대상으로 blog_list = Blog.o..
백준 [1924] 2007년 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초128 MB50478208261796543.210% 문제 오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 빈 칸을 사이에 두고 x(1≤x≤12)와 y(1≤y≤31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. 출력 첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다. 예제 입력 1 1 예제 출력 MON 내 풀이 input_md = input() # inpu..
백준 [2749] 피보나치 수 3 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 n번째 피보나치 수를 1,000,000으로 나눈 나머지를 출력..
백준 [1934] 최소공배수 n = int(input()) for i in range(n): num = input() num = num.split() num = list(map(int, num)) if (num[0] > num[1]): mid = num[1] else: mid = num[0] for j in range(mid, 0, -1): if (num[0] % j == 0 and num[1] % j == 0): leastnum = j*(num[0] // j)*(num[1] // j) break print(leastnum)
for for i in range(1, 100): range 안은 1 이상 100 미만 을 의미함 for i in range (100): 이렇게 써도 같은 문법이다. for i in range (100, 0, -1): 100에서 1 까지 거꾸로 도는 코드 for i in range (1, 100, 2): 2의 배수로 i가 변경되는 코드 연산 // 정수 나눈 몫 % 나머지 / 실수 나누기 and C에서 &&와 같음 or C에서 ||와 같음 int(input()) input을 수로 변경해줌
input n = input() 인풋을 받을 경우 파이썬은 기본적으로 Character 로 받는다. 그렇기 때문에 C 같이 for문을 돌리면서 배열을 만드는 것이 아니고 이것을 잘라줘야 한다. Split n = n.split() split method는 이것을 잘라주게하는 메서드이다. 이 때, Default는 " ", 스페이스이다. 하지만 여전히 n에 들어가 있는 녀석은 Character 이다. 그렇기 때문에 이녀석을 숫자로 바꿔줄 필요가 있다. map, list n = list(map(int, n)) map map method는 뒤에 나오는 값을 Mapping해주는 메서드이다. 따라서 int 말고 수식이 들어갈 수도 있다. n 이라는 배열의 type을 int로 바꿔준다. list 그 결과를 리스트로 다..