※ 선택 실행 구조 ※
ex 1) 정수 3개 입력 받아 짝수만 출력하기
map1 = map(int, input().split()) #사용자 입력값을 공백 기준으로 나누어 숫자로 입력받아 맵으로 변수에저장
for n in map1: #map의 내부 요소들에 대해
if(n%2==0): #짝수라면
print(n) #출력하기
ex 2)정수 3개 입력받아 짝/홀 출력하기
#정수 3개 입력받아 짝/홀 출력하기
map1 = map(int, input().split())
for n in map1:
print("even") if(n % 2 == 0 ) else print("odd")
-> 저번 시간에 배운 삼항 조건식 if 문을 활용해봄.
기본 형태 : 참일경우 if(조건문) else 거짓일경우
ex 3) 정수 1개 입력받아 분류하기. 입력 정수는 0이 아닌 값.
음수&짝수: A, 음수&홀수: B, 양수&짝수: C, 양수&홀수: D
#0이 아닌 정수 입력받아 각각 음수/양수, 짝수/홀수 컨디션에 맞춰 출력값이 달라지는 프로그램.
num = int(input('0이 아닌 정수를 입력하세요: '))
(print('A') if num%2==0 else print('B')) if(num < 0) else(print('C') if(num > 0 and num%2==0) else print('D'))
ex 4) 점수 입력받아 평가 출력
시험점수에 따른 Letter Grade 출력. A: 90~100, B: 70~89, C: 40~69, D: 0~39
삼항 if 조건식 으로 작성한 버전.
score = int(input('점수 입력(0~100): '))
print('A') if(score>=90 and score <= 100) else (print('B') if (score >= 70 and score<=89) else(print('C') if (score>=40 and score <= 69) else (print('D')if (score>=0 and score <=39) else print('0에서 100사이의 값을 입력하세요.'))))
자바나 자바스크립트 같은 경우 이런 문제에 switch 문을 사용해서 python에서도 switch문을 사용하려 했으나 python에 switch문이 없다고 한다. 대신 if~elif~else문으로 대체 해서 사용하는듯.
if~elif~else문으로 작성한 버전.
score = int(input('점수 입력(0~100): '))
if (score>=90 and score <=100):
print('A')
elif (score>=70 and score <=89):
print('B')
elif (score>=40 and score<=69):
print('C')
elif(score>=0 and score<=39):
print('D')
else:
print('Error. 0~100사이의 값을 입력하세요.')
ex 5) 평가 입력받아 다르게 출력. (A, B, C, D 등 문자를 하나 입력받아 해당 되는 내용이 출력되게함)
dictionary를 사용하면 될것 같아서 다음과 같이 작성.
user_input = input()
dict = {'A':'Exellent!',
'B': 'Great',
'C':'Good',
'D':'I know you can do better',
'F':'See you again!'}
print(dict[user_input])
ex 6) 월 입력받아 계절 출력
mth = int(input('Input month in number(1~12): '))
if mth in (1, 2, 12):
print('Winter')
elif mth in (3,4,5):
print('Spring')
elif mth in (6, 7, 8):
print('Summer')
elif mth in (9, 10, 11):
print('Autumn')
else:
print('Input number should be in range 1~12.')
※ 반복실행구조 ※
ex 1) 0이 입력되기 전까지 계속 정수 입력받기. 0이 입력된 경우 프로그램 종료.
num = int(input('숫자를 입력하세요(0입력시 종료!): '))
while (num != 0):
num = int(input('숫자를 입력하세요(0입력시 종료!): '))
print(num)
if (num == 0 ):
print('0이 입력되어 프로그램이 종료되었습니다. ')
ex 2) 입력받은 숫자가 0 이 될 때까지 카운트 다운 출력. (5 입력시 5~1까지 출력되게)
num = int(input('카운트 다운 시작 숫자를 입력하세요 : '))
while (num != 0):
print(num)
num = num - 1
입력값 : 5
출력값 :
5
4
3
2
1
ex 3) 입력받은 숫자 카운트 다운(5입력시 4~0까지 출력)
num = int(input('카운트 다운 시작 숫자를 입력하세요 (1~100사이 수): '))
while (num != 0):
num -= 1
print(num)
입력값 : 3
출력값 :
2
1
0
ex 4) 문자 1개 입력받아 순서대로 a 부터 입력받은 문자까지 출력하기 (한줄에 출력)
- 입력받은 user_input를 ord() 함수를 통해 유니코드 숫자로 저장.
- 소문자 'a'를 초기값으로 cnt 변수를 생성해, while문을 이용, 소문자 'a'부터 입력값과 같을때까지 출력하기.
user_input = ord(input('소문자 알파벳 입력(a~z): '))
cnt = ord('a')
str = '' #한줄 출력을 위해 str 저장 변수 초기화.
while (cnt<=user_input): #초기값 a에서 입력값과 동일할때까지 while문 실행
str += chr(cnt)+' ' #str 변수에 a에서부터 입력받은 값까지 알파벳 저장하기.
cnt += 1
print(str) #저장된 스트링 출력
입력값 : f
출력값 : a b c d e f
ex 5) 정수 1개 입력받아 그 수까지 출력하기
user_input = int(input('0에서 100사이의 수 입력 : '))
n = 0
while (n <= user_input):
print(n)
n+=1
입력값 : 3
출력값 :
0
1
2
3
Codeup 기초100문제 연습(5) - python (문제 6081) (0) | 2022.09.07 |
---|---|
Codeup 기초100문제 연습(4) - python (문제 6077~6080) (0) | 2022.08.29 |
Codeup 기초100문제 연습(2) - python (문제 6034~ 6064) (0) | 2022.08.25 |
Python 문자열 format 방법 (0) | 2022.08.25 |
Codeup 기초100문제 연습(1) - Python(문제 6001~6033번) (0) | 2022.08.22 |