'''
제어문이란? 명령어의 흐름(순서)를 제어하는 용도로 이용
제어문의 종류
: 조건문 - if , if~else~ , 다중 조건문 if ~ elif ~ else
: 반복문 - while 조건식 : while 무한루프 + break
- for ~ in range(), for ~ in 문자열|리스트|튜플|딕셔너리
: 기타명령어 - break, continue, pass
제어문 : 들여쓰기(4칸, 탭키 1개)를 이용해서 실행 블록을 지정
'''
1. 단순 조건문
'''
조건식을 만족하면 명령문1 ~ 수행
# 실행명령문이 여러개인 경우에는 들여쓰기 이용
if 조건식|변수|값 :
명령문1
명령문2
...
# 실행명령문이 하나인 경우에는 한줄로 가능
if 조건식|변수|값 : 실행명령문
# True(참)이 되는 값
# => 0이 아닌 숫자, True, 길이가 0이 아닌 빈 문자열이 아닌 문자열|리스트|튜플|딕셔너리|집합
# False(거짓)이 되는 값
# => 0, False, 길이가 0인 문자열|리스트|튜플|딕셔너리|집합, None
'''
# 양수이거나 0보다 크면 메세지 출력
x = 10
if ( x>=0 ) :
print(f' {x}은/는 양수이거나 0보다 크다.')
print('if 테스트 종료')
'''
10는 양수이거나 0보다 크다.
if 테스트 종료
'''
x = -10
if ( x>=0 ) :
print(f' {x}은/는 양수이거나 0보다 크다.')
# 수행 명령어가 한 행인 경우 if 문뒤에 바로 사용 가능
# ex) if ( x>=0 ) : print(f' {x}은/는 양수이거나 0보다 크다.')
print('if 테스트 종료') #if 테스트 종료
# if 문을 여러번 쓴 경우
# 짝수인지 홀수인지 출력
# - 숫자 % 2 == 0 => 짝수
# - 숫자 % 2 != 0 => 홀수
x = 10
if x%2 == 0 : print('짝수')
if x%2 != 0 : print('홀수')
print('짝수 홀수 테스트 종료')
# if 문을 여러번 쓴 경우
# 짝수인지 홀수인지 3의 배수인지 10의 배수인지 출력
# - 숫자 % 2 == 0 => 짝수
# - 숫자 % 2 != 0 => 홀수
# - 숫자 % 3 == 0 => 3의배수
# - 숫자 % 10 == 0 => 10의배수
x=12
if x%2 == 0 : print('짝수')
if x%2 != 0 : print('홀수')
if x%3 == 0 : print('3의배수')
if x%10 == 0 : print('10의배수')
print('짝수 홀수 테스트 종료')
2. if~ else 조건문
'''
조건식을 만족하면(if) 명령문1 그렇지 않으면(else) 명령문2 수행
# 실행명령문이 여러개인 경우에는 들여쓰기 이용
if 조건식|변수|값 :
명령문1-1
명령문1-2
...
else :
명령문1-1
명령문1-2
...
# 실행명령문이 하나인 경우에는 한줄로 가능
if 조건식|변수|값 : 실행명령문1
else : 실행명령문1
...
'''
# 짝수인지 홀수인지 출력
# 단순 if 문 예시
# - 숫자 % 2 == 0 => 짝수
# - 숫자 % 2 != 0 => 홀수
#if~else 구조로 변경
# print('='*20)
# x=10
# if x%2 == 0 :
# print('짝수')
# else:
# print('홀수')
# print('if~else 테스트 종료')
#짝수
#if~else 테스트 종료
# 미성년자 여부 판별
# age = int(input('나이를 입력하세요...'))
# if age>=19 :
# print('성인입니다.')
# print('투표권이 있습니다.')
# else :
# print('미성년자 입니다.')
# print('if~ else 테스트 종료2')
3. if~ elif~ else 조건문 (다중 조건식)
'''
조건식1을 만족하면(if) 명령문1
조건식2(elif)를 만족하면 명령문2
그렇지 않으면(else) 명령문3 수행
# 실행명령문이 여러개인 경우에는 들여쓰기 이용
if 조건식|변수|값 :
명령문1-1
명령문1-2
...
elif 조건식|변수|값 :
명령문2-1
명령문2-2
...
else :
명령문 3-1
명령문 3-2
...
'''
# x 값에 따라서 양수, 음수, 0 출력하기
x = 0
if x>0 :
print('양수')
elif x<0 :
print('음수')
else :
print('0')
print('if~elif~else 테스트 종료')
# 관계 연산자 : > , < , >= , <= , == , !=
# 논리 연산자 : and(논리곱), or(논리합), not(논리부정)
# 3의 배수이거나 10의 배수이면 성공 그렇지 않다면 실패라는 메세지를 출력한다.
# x = int(input('숫자를 입력하세요...'))
# if (x%3==0) or (x%10==0) :
# print('성공')
# else :
# print('실패')
# 3의 배수이지만 5의 배수가 아니면 성공 그렇지 않다면 실패 출력
# 15의 배수는 실패
x = int(input('숫자를 입력하세요...'))
if (x%3==0) and (x%5!=0) :
print('성공')
else :
print('실패')
# Quiz1
# ~7 : 영유아
# 8 ~ 13 : 초등학생
# 14 ~ 16 : 중학생
# 17 ~ 19 : 고등학생
# 20 ~ : 성인
# 당신의 나이를 입력해주세요? ...12
# 초등학생
# 비교연산자 1 : minNumber < 변수 < maxNumber
age = int(input('당신의 나이를 입력해주세요?...'))
if age <= 7 and age>=0 :
print('영유아')
elif age<= 13 :
print ('초등학생')
elif age<=16 :
print('중학생')
elif age<=19 :
print('고등학생')
else :
print('성인')
# 비교연산자 1 : minNumber < 변수 < maxNumber
age = int(input('당신의 나이를 입력해주세요?...'))
if 0<=age<=7 :
print('영유아')
elif 8<=age<=13 :
print ('초등학생')
elif 14<=age<=16 :
print('중학생')
elif 17<=age<=19 :
print('고등학생')
else :
print('성인')
# 비교연산자 2 : 순서 주의
age = int(input('당신의 나이를 입력해주세요?...'))
if ( age>19) :
print(f' {age} => 성인')
elif (age>16) :
print(f' {age} => 고등학생')
elif (age>13) :
print(f' {age} => 중학생')
elif (age>7) :
print(f' {age} => 초등학생')
else :
print(f' {age} => 영유아')
'''
Quiz2
키와 체중을 입력받은 후 bmi 값에 따라 메세지를 출력하여라.
# bmi 공식
k = 키(입력값) 단위 cm
w = 체중(입력값)
bmi = 체중(kg)/키(m)의제곱
키의 단위는 미터(m)
# bmi 값에 따라 출력되는 메세지
고도 비만 : 35 보다 클 경우
중등도 비만 : 30 - 35 미만
경도 비만 : 25 - 30 미만
과체중 : 23 - 25 미만
정상 : 18.5 - 23 미만
저체중 : 18.5 미만
키를 입력해주세요... 단위 cm...175
체중을 입력해주세요... 단위 kg...67
bmi = 21.88
정상
'''
풀이)
height = int(input('키를 입력해주세요...단위 cm...'))
weight = int(input('체중을 입력해주세요...단위 kg...'))
bmi = int((weight)/((height/100)**2))
if bmi>=35 :
print('고도 비만')
elif 30<=bmi<35 :
print('중등도 비만')
elif 25<=bmi<30 :
print('경도 비만')
elif 23<=bmi<25 :
print('과체증')
elif 18.5<=bmi<23 :
print('정상')
else :
print('저체중')
'''
Quiz
1. 딕셔너리에서 키와 값을 추가하는 방법은 무엇인가요? b
a) dict.add(key, value)
b) dict[key] = value
c) dict.insert(key, value)
d) dict.append(key, value)
2. 딕셔너리의 모든 키를 가져오는 메서드는? a
a) dict.keys()
b) dict.get_keys()
c) dict.all_keys()
d) dict.fetch_keys()
3. 집합에 요소를 추가하는 방법은? a
a) set.add(element)
b) set.append(element)
c) set.insert(element)
d) set.push(element)
4. 두 집합의 합집합을 구하는 방법은? a
a) set1.union(set2)
b) set1.add(set2)
c) set1.merge(set2)
d) set1.combine(set2)
5. 두 집합의 차집합을 구하는 방법은? a
a) set1.difference(set2)
b) set1.subtract(set2)
c) set1.remove(set2)
d) set1.exclude(set2)
6. 집합에서 중복 요소를 제거하는 방법은? a
a) 집합은 본래 중복 요소를 허용하지 않음
b) set.remove_duplicates()
c) set.filter_duplicates()
d) set.unique()
7. 다음 코드의 출력 결과는 무엇인가? d
set_a = {1, 2, 3}
set_b = {3, 4, 5}
result = set_a ^ set_b
print(result)
a) {1, 2}
b) {3}
c) {4, 5}
d) {1, 2, 4, 5}
8. 다음 문자열을 리스트로 변환할 때 적절한 코드 조각은? b
text = "apple,banana,cherry"
a) list(text)
b) text.split(",")
c) text.to_list()
d) split(text, ",")
9. 다음 문자열에서 중복된 문자를 제거하고 리스트로 변환하여 출력하는 코드는?
text = "python of program language"
k = set(text)
kk = list(k)
print(kk)
10. 다음 코드의 결과로 알맞은 것은? b
my_set = {1, 2, 3, 2, 1}
print(my_set)
a) {1, 2, 3, 2}
b) {1, 2, 3}
c) [1, 2, 3, 2]
d) {1, 2}
11. 다음 중 딕셔너리의 특징이 아닌 것은? b
a) 키는 중복될 수 없다.
b) 값은 중복될 수 없다.
c) 순서가 보장되지 않는다.
d) 키는 불변형 자료형이어야 한다.
12. 출생년도를 입력받아 띠를 구하는 코드를 딕셔너리를 사용하여 코드로 작성하면?
띠는 출생년도를 12로 나눈 후 나머지 값에 따라 결정된다
# 띠를 나타내는 딕셔너리
zodiac_dict = {
0: "원숭이",
1: "닭",
2: "개",
3: "돼지",
4: "쥐",
5: "소",
6: "호랑이",
7: "토끼",
8: "용",
9: "뱀",
10: "말",
11: "양"
}
# 출력 예시
출생년도를 입력하세요: 2009
당신의 띠는 소 띠입니다.
zodiac_dict = { 0: "원숭이",
1: "닭",
2: "개",
3: "돼지",
4: "쥐",
5: "소",
6: "호랑이",
7: "토끼",
8: "용",
9: "뱀",
10: "말",
11: "양"}
birth_year = int(input('출생 연도를 입력하세요'))
zodiac_index = birth_year%12
zodiac_animal = zodiac_dict[zodiac_index]
print(f"당신의 띠는 {zodiac_animal}입니다.")
13. 다음 코드의 출력 결과는 무엇인가? b
x = 0
if x:
print("True")
else:
print("False")
a) True
b) False
c) 0
d) None
14. 다음 코드에서 ?에 해당되는 값이 어떤 조건이 충족되면 "Pass"가 출력될까? b,c
x = ?
if x % 2 == 0:
print("Pass")
else:
print("Fail")
a) x가 홀수일 때
b) x가 짝수일 때
c) x가 0일 때
d) x가 1일 때
15. 다음 코드의 출력 결과는 무엇인가? d
temperature = -5
weather_condition = '맑음'
if temperature > 30:
print("더운 날씨입니다.")
elif 20 <= temperature <= 30:
print("온화한 날씨입니다.")
else:
print("추운 날씨입니다.")
if weather_condition == '맑음':
print("외출 시 따뜻한 옷을 입으세요.")
a) 더운 날씨입니다.
b) 온화한 날씨입니다.
c) 추운 날씨입니다.
d) 추운 날씨입니다. 외출 시 따뜻한 옷을 입으세요.
16. 다음 코드의 출력 결과는 무엇인가? a
year = 2000
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("Leap year")
else:
print("Not a leap year")
a) Leap year
b) Not a leap year
17. 아래의 코드는 주어진 연도가 윤년인지 아닌지를 판별하는 코드이다.
if ( ) 의 조건식을 완성하여라.
윤년은 다음과 같은 규칙에 따라 결정된다.
- 연도가 4로 나누어 떨어지면 윤년.
- 그러나 연도가 100으로 나누어 떨어지면 윤년이 아니다.
- 다만 연도가 400으로 나누어 떨어지면 윤년.
year = int(input("연도를 입력하세요: "))
if ( ) :
print(f"{year}년은 윤년입니다.")
else:
print(f"{year}년은 윤년이 아닙니다.")
'''
풀이)
year = int(input("연도를 입력하세요: "))
if (year%4 == 0 and year%100 != 0) or (year % 400 == 0) :
print('윤년')
else :
print('윤년이 아니다.')
'Python' 카테고리의 다른 글
9. 반복문(while문, 중첩 while문, 무한루프 while문) (0) | 2024.10.04 |
---|---|
8. 제어문 (중첩 if문, 유효성 검사, in 과 not in 연산자) (13) | 2024.10.04 |
6. 딕셔너리, 세트 (0) | 2024.10.02 |
5. 리스트 , 튜플 (4) | 2024.10.02 |
4. 문자열 다루기 (3) | 2024.10.02 |