상세 컨텐츠

본문 제목

Codeup 기초100문제 연습(3) - python (문제 6065~6076)

Programming/코테 공부

by Dal_pang 2022. 8. 29. 18:13

본문

※ 선택 실행 구조 ※

 

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

 

728x90

관련글 더보기