1부터 100까지 숫자를 리스트 형태로 만들고 싶은 경우
list=[1,2,3 ...] 이런식으로 일일히 입력하지 않고
range 함수를 통해서 숫자 리스트를 만들 수 있다.
1부터 10까지 숫자 리스트를 만들려고 하는 경우는 range(1,11)라고 적으면 된다.
*파이썬에서는 범위의 마지막 숫자보다 하나 더 큰 값을 지정해야 해당 값이 포함된다.
해당 리스트를 확인하고 싶을 경우는, 아래처럼 range를 list 안에 넣은 형태로 출력해야 한다.
이제 for 문을 이용해서 년월일을 출력해 보자.
년도(years)는 2020년부터 2022년, -> range(2020,2023)
월(months)은 1월부터 12월, -> range(1,13)
일(days)은 1일부터 31로 해보자. -> range(1,32)
아래처럼 입력해서 년월일 리스트를 생성할 수 있을 것이다.
years=range(2020,2023)
months=range(1,13)
days=range(1,32)
리스트를 프린트 해서 확인 가능하다.
for 반복문은 반복할 범위(리스트) 와 요소를 지정하면 된다.
년도의 경우, 년도 범위는 위에 지정한 것처럼 years, 요소는 year 라고 임의로 지정하겠다. year 외에 i 등.. 원하는 알파벳이나 단어로 정할 수 있다.
아래처럼 for 문을 입력하고, 요소를 출력해보자. years 안의 각 년도가 출력되는걸 확인할 수 있다.
for year in years:
print(year)
years 안의 요소를 반복해서 출력한다.
년도 외에 월, 일도 for 문 밑에 넣어 순서대로 년,월,일을 출력해 보자(print(year,month,day)).
아래처럼 for 문 안에 for 문을 넣을 수 있다. 안쪽의 for 문부터 반복된다.
for year in years:
for month in months:
for day in days:
print(year,month,day)
위처럼 입력하면 순서대로 제일 처음 year, 제일 처음 month, 제일 처음 day~끝 day -> 두번째 month, 처음 day~끝day 이런 식으로 출력된다.
알아보기 쉽게 print 함수에 년, 월, 일 텍스트를 추가해 보자. 텍스트이므로 따옴표를 추가한다.
for year in years:
for month in months:
for day in days:
print(year,'년',month,'월',day,'일')
위와 같이 입력하면, 다음처럼 출력된다.
1일~31일 먼저 다 출력하고, 그 다음 달을 출력하고, 12월까지 다 출력하면 다음 년도를 순서대로 출력한다.
print 함수를 제일 마지막 for 문이 아니라, 각 for 문에 삽입해 보자.
년도를 먼저 출력하고, 월을 출력하고, 일을 순서대로 다 출력하고 그다음 월 출력하고.. 이런식으로 진행되는것을 확인할 수 있다.