1. 알파벳 출력
● 아스키코드(ASCII)
- 파이썬 언어에서 사용할 수 있는 모든 문자들은 하나의 숫자와 대응.
- 알파벳 대문자, 소문자끼리는 연속한 숫자들로 매칭
- 아스키코드 값은 ord()를 사용.
- ord('A') = 65 => A의 아스키코드 값은 65
- 아스키코드 값을 알고 있을 때 대응되는 문자를 알아내려면? => chr()
- chr(65) = A
print(ord('A'))
print(chr(65))
65
A
만약 입력한 알파벳의 다음 알파벳을 구하려면? => chr(ord(x)+1)
x=input()
print(chr(ord(x)+1))
>> a
b
Q) 정사각형 알파벳
- 자연수 n 입력.
- n*n개의 정사각형 모양의 A~Z까지 출력
- Z 다음엔 A
n=int(input())
k=ord('A')
for i in range(n):
for j in range(n):
print(chr(k),end='')
k+=1
if k==ord('Z')+1:
k=ord('A')
print()
결과
>> 7
ABCDEFG
HIJKLMN
OPQRSTU
VWXYZAB
CDEFGHI
JKLMNOP
QRSTUVW
Q) 직각삼각형 알파벳
- 자연수 n을 입력
- A~Z 순으로 출력. Z 다음은 A
예시)
>> 3
A B C
D E
F
n=int(input())
blank=0
cnt=ord('A')
for i in range(n):
for j in range(n):
if j<blank:
print(' ',end=' ')
else:
print(chr(cnt),end=' ')
cnt+=1
if cnt==ord('Z')+1:
cnt=ord('A')
blank+=1
print()
2. n번 반복하기
Q) a+b n번
- 자연수 n을 입력
- 두 수 a, b 입력 (n번)
- a부터 b까지 합을 출력. (n번)
n=int(input())
for i in range(n):
inp=input().split()
a,b=int(inp[0]),int(inp[1])
sum_val=0
for j in range(a,b+1):
sum_val+=j
print(sum_val)
결과
>> 3
>> 1 4
10
>> 2 6
20
>> 1 3
6
Q) 완전수
- 완전수 : 자기 자신을 제외한 모든 양의 약수들을 더해 자기 자신이 되는 수
- 예) 6 = 1+2+3 => 6은 완전수
- 두 수 a, b 입력.
- a부터 b까지 완전수의 개수를 출력
inp=input().split()
a,b=int(inp[0]),int(inp[1])
cnt=0
for i in range(a,b+1):
sum_val=0
for j in range(1,i):
if i%j==0:
sum_val+=j
if sum_val==i:
print(f'{i}는 완전수')
cnt+=1
print(f'완전수 개수는 {cnt}개')
결과
>> 1 500
6는 완전수
28는 완전수
496는 완전수
완전수 개수는 3개
● 문제 접근
- a부터 b까지 반복 (변수 i)
- i의 약수를 구하기 위해 1부터 i-1까지 반복. (자기 자신을 제외한 약수를 구하기 위해) (변수 j)
- i를 j로 나눠 나머지가 0이면 약수
- 약수인 j를 sum_val에 더함
- sum_val이 i와 같으면 완전수
Q) 소수
- 소수는 약수가 1과 자기 자신만 있는 수
- 두 수 a, b 입력
- a부터 b까지 소수를 출력
inp=input().split()
a,b=int(inp[0]),int(inp[1])
for i in range(a,b+1):
isprime=True
for j in range(2,i):
if i%j==0:
isprime=False
break
if isprime==True:
print(i,end=' ')
결과
>> 10 50
11 13 17 19 23 29 31 37 41 43 47
● 문제 접근
- a부터 b까지 반복문 (변수 i)
- isprime이라는 bool 타입의 변수 설정
- isprime이 True : i가 소수
- isprime이 False : i는 소수가 아님
- 소수는 약수가 1과 자기 자신만 있는 수
- 약수가 2~(자기 자신-1) 중에 하나라도 있으면 소수가 아님
- 위의 조건을 반복문 (변수 j)을 처리하여 만족하면 isprime을 False로 바꿈
- isprime이 True인 수만 출력
'파이썬(Python)' 카테고리의 다른 글
리스트와 인덱스 (0) | 2022.10.10 |
---|---|
리스트 (list) (0) | 2022.10.01 |
다중 반복문4 (0) | 2022.09.29 |
다중 반복문3 (0) | 2022.09.25 |
다중 반복문2 (0) | 2022.09.24 |