*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*
문제1
for문을 이용하여, '😀'를 이용하여 아래와 같은 모형을 만들어보자
😀😀😀😀😀
😀😀😀😀😀
😀😀😀😀😀
😀😀😀😀😀
😀😀😀😀😀
위문제는 5*5모양인 이모티콘을 출력하는 문제입니다. for문을 이용하여 출력한다면, 길이가 5이므로 range(5)가 들어갑니다. 첫번째 for문은 행, 두번째 for문은 열 위치로 오게 만듭니다.
for i in range(5): #i가 행
for j in range(5): #j가 열
print('😀', end=' ')
print()
문제2
'😀'를 이용하여 아래와 같은 모형을 만들어보자
😀😀😀😀😀
😀😀😀😀
😀😀😀
😀😀
😀
i는 행방향, j는 열방향이고, 1열 5개, 2열 4개 ... 5열 1개 등 열 갯수와 행 순서가 반비례합니다. 행은 고정시키고, 열의 시작과 끝을 range(i,5)로 행과 반비례가 오게 만듭니다.
for i in range(5): #열방향, 0,1,2,3,4
for j in range(i,5): #j는 행갯수 출력, 5,4,3,2,1-> 0~4, 1~4, 2~4, 3~4,4
#열 순서와 행 순서 반비례
print('😀', end=' ')
print()
문제3
😀
😀😀
😀😀😀
😀😀😀😀
😀😀😀😀😀
행과 열이 정비례합니다. 1행1개, 2행2개,... 5행 5개 등, 열에 해당되는 j는 행의 인덱스보다 1개 더 많습니다.
for i in range(5):
for j in range(i+1): #i=1,j=1, i=2,j=2, ..., i=5,j=5
#행 갯수=열 갯수
print('😀', end=' ')
print()
문제4
2단부터 9단까지 구구단을 출력하는 프로그램을 만들어보자
- 단, for문과 while문을 사용하여 각각 별도로 작성
외부 for문은 첫번째 숫자이므로 1단부터 9단까지 표현을 위해 범위가 range(1,10)입니다. 내부 for문 또한 X1~X9까지 되므로 range(1,10)입니다. 1행1열 1행2열...1행9열까지 진행되고 다시 2행으로 돌아가야 하기 때문에 마지막 print()는 공백으로 둬야 합니다. 내부 for문으로 출력해야 하기 때문에 출력서식은 내부 for문안에 작성합니다.
for i in range(1,10): #i는 1부터 9 까지
for j in range(1,10): # j는 1부터 9까지 출력 (2,1),(2,2),...,(9,9)
#(i,j)->(1,1)(1,2)(1,3)...(1,9)->(2,1)...(2,9)....(9,8)(9,9)
print(f'{i} X {j} = {i*j}') # j가 내부 for문과 같이 있으면 오류->안쪽에
# indented block 들여쓰기
print() #j=9일때 넘어감
i=2
while i <=9:
j=2
print(f'{i}단')
while j<=9:
print(f'{i}*{j}={i*j}')
j+=1 #여기까지 j=9
i+=1 #여기서 j=10
j=1 #다시 j를 1로 바꿈
print()
'Python 기초' 카테고리의 다른 글
파이썬 기초(13)-콜백함수와 람다함수 (0) | 2024.03.18 |
---|---|
파이썬 기초(12)-변수의 범위 (0) | 2024.03.18 |
파이썬 기초(10)- 컬렉션과 반복문 (0) | 2024.03.15 |
파이썬 기초(11)-사용자 정의함수 (0) | 2024.03.15 |
파이썬 예제-2. 조건문 문제 (1) | 2024.03.15 |