자, 저번 시간에는 파이썬을 설치해 봤습니다.
오늘은 파이썬으로 별을 찍어 보겠습니다. 아래 모양처럼 하려면 어떻게 해야 할까요?
패턴이 뭔가요? (*사실 프로그래밍에서 가장 중요한 것은 패턴입니다!!!)
같은 모양의 별이 계속 반복되고 있죠?
파이썬에 반복구문에 대표적으로 쓰이는 것이 바로 for 입니다.
대표적인 구문의 형태는 이렇습니다.
for i in range( ):
어떤 범위(range) 안에서 i를 반복해라! 반드시 맨 뒤에는 ":"로 마감하셔야 합니다!!!
i는 변수 이름입니다. x로 하든, y로 하든, 심지어 여러분의 이름으로 하든 상관 없습니다. 형식만 잘 맞추면 됩니다.
range에 대해서도 박스 안에 설명이 되어 있습니다. 그냥 i, i+1, i+2... 이런 식으로 변수 i에 계속 0부터 (*컴퓨터는 1부터 시작하는 것이 아니라 0부터 시작합니다) 1씩 증가해 가면서 더해주겠다. 그런데 언제까지요? range 안에 들어간 숫자보다 1이 작은 숫자까지.
그러면
range(5)
는 뜻이 뭔가요? 5보다 1이 작은 4까지 변수에 더해준다는 의미입니다. 변수에 0부터 4까지 순차적으로 더해준다!
i+0, i+1, i+2, i+3, i+4
이렇게 됩니다. 실제로 돌려보겠습니다.
위와 아래가 다르게 나오는 거 보이시나요?
위에는 print(1)을 했더니 1을 5번의 range 안에서 반복해서 그대로 5번 출력했습니다.
아래는 print(i)를 했더니 i에 5번의 range 안에서 1씩 증가하면서 더해서 0, 1, 2, 3, 4 가 출력되었습니다.
한번 더 해 볼까요? 변수에 x도 y도 아닌 "철수"를 넣어보겠습니다.
결과물이 같죠? 사실 i든 철수이든 변수는 별로 의미가 없습니다. 다섯번이라는 횟수가 출력해서 나온다는 말입니다.
잘 이해가 가지 않으실까봐, 그럼 "사랑해"라는 걸 계속해서 출력하고 싶습니다. 몇 번을요? 5번!
결과물이
사랑해
사랑해사랑해
사랑해사랑해사랑해
사랑해사랑해사랑해사랑해
입니다. 그런데 이상하죠? 5번 반복이 되어야 하는데요. 정확히는 이렇습니다.
>> 사랑해 * 0이라서 생략된 것입니다. 행이 존재합니다.
사랑해 >> 사랑해 * 1
사랑해사랑해 >> 사랑해 * 2
사랑해사랑해사랑해 >> 사랑해 * 3
사랑해사랑해사랑해사랑해 >> 사랑해 * 4
어느 정도 이해가 되셨나요?
그럼 이제 별 5개 출력은 껌이네요. 엥? 그런데 별은 처음부터 1개가 찍혀 있습니다. 그럼 어떻게 해야 할까요? range에 1개만 쓰면 무조건 0부터 시작하니, 1을 찍어주면 됩니다.
range(1, 6)
이건 1부터 시작해서 6보다 1 작은 5번까지 출력하라는 의미입니다.
정확하죠?
저 상태에서 * 철수를 빼 볼까요?
결과물의 차이는 없습니다. print 안에 변수 철수를 활용한 어떠한 연산자도 없으니까 그냥 5번을 반복한 것입니다.
그렇다면 다른 연산자도 사용 가능하겠다는 생각이 들지 않나요? 만약에 숫자라면?
어때요? 정확하죠? 아, 파이썬에서는 나누기 연산자를 "/"로 표시합니다!
6.0
3.0
2.0
1.5
1.2
이게 어떤 식이 반영된 거죠?
6.0 >> 6 / 철수(1)
3.0 >> 6 / 철수(2)
2.0 >> 6 / 철수(3)
1.5 >> 6 / 철수(4)
1.2 >> 6 / 철수(5)
헛갈리니까 변수를 "철수"가 아닌 학창시절에 자주 쓰는 "x"로 바꿔보겠습니다.
어때요? 소름끼치도록 똑같지요?
파이썬 별거 아니지요?^^
그럼 다음 시간에 이어서 하겠습니다!
아차차! 별찍기 안 했네요. 너무 쉬워서 할 필요가 있을까 싶습니다만 덧붙여 보겠습니다! (*참고로 print 안의 문자열은 양따옴표 안에 넣어야 합니다. 파이썬에서 곱셈 연산자가 *라서 헛갈릴 것 같은데, 다른 것입니다. 철수는 문자열인데 왜 따옴표 안 했나구요? 철수는 i, x, y와 같은 변수입니다. 변수에는 양따옴표를 할 필요가 없습니다)
"*"
이 모양이 헛갈리실 것 같아 명확하게 별표 ☆ 이걸로 바꿔보겠습니다. ☆은 문자열이니 "☆" 이렇게 처리해야 합니다!
참 쉽죠잉?^^
'파이썬 배우기' 카테고리의 다른 글
파이썬으로 웹크롤링 해 보기!!! 4편 (ft. 네이버 증권 정보 가져오기) (0) | 2022.05.24 |
---|---|
파이썬으로 웹크롤링 해 보기!!! 3편 (0) | 2022.05.23 |
파이썬으로 웹크롤링 해 보기!!! 2편 (ft. 다움 브런치 기사 가져오기) (0) | 2022.05.22 |
파이썬으로 웹크롤링 해 보기!!! (ft. pip 업그레이드? python -m pip install --upgrade pip? 조치방법) (0) | 2022.05.22 |
파이썬 설치하기 1편 (0) | 2022.05.08 |
댓글