다중 반복문3
2022. 9. 25. 20:06ㆍ파이썬(Python)
반응형
1. 순서 있는 숫자 출력
Q) 행이 반복되는 숫자
예시)
>> 3
123
123
123
>> 4
1234
1234
1234
1234
n=int(input())
for i in range(n):
for j in range(1,n+1):
print(j,end='')
print()
Q) 열이 반복되는 숫자
예시)
>> 3
111
222
333
>> 4
1111
2222
3333
4444
n=int(input())
for i in range(n):
for j in range(n):
print(i+1,end='')
print()
Q) 숫자가 감소하는 정사각형
- 자연수 n을 입력.
- n개의 행과 각 행에 n, n-1,... , 2, 1 수를 출력
예시)
>> 4
4 3 2 1
4 3 2 1
4 3 2 1
4 3 2 1
n=int(input())
for i in range(n):
for j in range(n,0,-1):
print(j,end=' ')
print()
2. 수학적 규칙에 따른 숫자 출력
Q) n*m개의 배수 출력
- 자연수 n, m 입력
- n개의 행과 각각의 행에 맞는 배수를 m개 출력
예시)
>> 3 4
1 2 3 4
2 4 6 8
3 6 9 12
inp=input().split()
n,m=int(inp[0]),int(inp[1])
for i in range(1,n+1):
for j in range(i,i*(m+1),i):
print(j,end=' ')
print()
Q) 정사각형 - 거꾸로 배수
예시)
>> 4
4 3 2 1
8 6 4 2
12 9 6 3
16 12 8 4
>> 5
5 4 3 2 1
10 8 6 4 2
15 12 9 6 3
20 16 12 8 4
25 20 15 10 5
n=int(input())
for i in range(1,n+1):
for j in range(n*i,n*i//n-1,-i):
print(j,end=' ')
print()
3. cnt(개수 변수)를 활용한 숫자 출력
123
456
789
위와 같은 내용을 출력하기 위해서는?
- 숫자가 왼쪽 위에서 오른쪽 아래까지 오는데 1 증가.
- for의 i, j에 대한 규칙이 아닌 cnt를 1씩 증가하여 해결
cnt=1
for i in range(3):
for j in range(3):
print(cnt,end='')
cnt+=1
print()
Q) 1-9 정사각형 출력
- 자연수 n을 입력. 1부터 9의 수가 정사각형 모양으로 출력
- 9 다음에는 1이 출력
예시)
>> 4
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
n=int(input())
cnt=1
for i in range(n):
for j in range(n):
print(cnt,end=' ')
cnt+=1
if cnt==10:
cnt=1
print()
Q) 홀수 정사각형 출력
- 자연수 n을 입력.
- n*n의 정사각형. 각 수는 10 이하의 홀수
예시)
>> 4
1 3 5 7
9 1 3 5
7 9 1 3
5 7 9 1
n=int(input())
cnt=1
for i in range(n):
for j in range(n):
print(cnt,end=' ')
cnt+=2
if cnt==11:
cnt=1
print()
4. 구구단
- 기본적인 구구단
n=int(input())
for i in range(1,10):
print(f'{n} * {i} = {n*i}')
결과
>> 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
Q) 구구단 만들기
- 두 수 a, b를 입력
1행 | 2단 |
2행 | 4단 |
3행 | 6단 |
4행 | 8단 |
- a부터 b까지 각 행에 해당하는 수식을 출력
예시)
>> 2 5
2*2=4 / 3*2=6 / 4*2=8 / 5*2=10
2*4=8 / 3*4=12 / 4*4=16 / 5*4=20
2*6=12 / 3*6=18 / 4*6=24 / 5*6=30
2*8=16 / 3*8=24 / 4*8=32 / 5*8=40
inp=input().split()
a,b=int(inp[0]),int(inp[1])
for i in range(2,10,2):
for j in range(a,b+1):
print(f'{j}*{i}={j*i}',end=' ')
if j==b: continue
print('/',end=' ')
print()
'파이썬(Python)' 카테고리의 다른 글
다중 반복문5 (+문자열) (0) | 2022.09.30 |
---|---|
다중 반복문4 (0) | 2022.09.29 |
다중 반복문2 (0) | 2022.09.24 |
다중 반복문1 (0) | 2022.09.24 |
반복문 활용4 (0) | 2022.09.22 |