24.07.11 Day09

최지원·2024년 8월 12일

제어문(조건문과 반복문)

in과 not in

  • 항목의 존재 여부를 파악할 때 사용함.
  • return 값은 bool type임.
  • a in A
    • a가 A에 포함되어 있니?
  • a not in A
    • a가 A에 포함되어 있지 않니?
langs = ['python', 'C++', 'java']
lang = 'python'
lang2 = 'C#'

print(lang in langs)
print(lang not in langs)
print('-'*50)
print(lang2 in langs)
print(lang2 not in langs)

대소문자 확인 & 변환

  • isupper(), islower() : 대소문자 확인
  • upper(), lower() : 대소문자 변환

연습문제

# 문제1
num1 = int(input("숫자를 입력하세요1 : "))
num2 = int(input("숫자를 입력하세요2 : "))
num3 = int(input("숫자를 입력하세요3 : "))

if num1 > num2 and num1 > num2:
    print("%d이 가장 큰 숫자입니다." %num1)
elif num2 > num1 and num2 > num3:
    print("%d이 가장 큰 숫자입니다." %num2)
else :
    print("%d이 가장 큰 숫자입니다." %num3)
# 문제2
num = int(input("숫자를 입력해주세요 : "))
if num%2==1:
    print("%d는 홀수입니다." %num)
else :
    print("%d는 짝수입니다." %num)
# 문제3
num1 = int(input("숫자를 입력하세요1 : "))
num2 = int(input("숫자를 입력하세요2 : "))
num3 = int(input("숫자를 입력하세요3 : "))

if num1 > num2:
    num1, num2 = num2, num1
if num2 > num3:
    num2, num3 = num3, num2
if num1 > num2:
    num1, num2 = num2, num1
print("%d < %d < %d" %(num1, num2, num3))
# 문제4
num = int(input("0부터 100사이의 숫자를 입력해주세요 : "))

if(0 < num < 60):
    print("F")
elif(60 > num >= 70):
    print("D")
elif(70 <= num < 80):
    print("C")
elif(80 <= num < 90):
    print("B")
elif(90 <= num <= 100):
    print("A")
else:
    print("0부터 100사이의 숫자를 입력해주세요.")
# 문제5
word = input("알파벳을 입력해주세요 : ")

a = ['a','e','i','o','u']

if word in a:
    print(f"{word}는 모음입니다.")
else:
    print(f"{word}는 자음입니다.")
# 문제6
num = int(input("숫자를 입력해주세요 : "))
if num >= 100 and num < 1000:
    print("100이상 1000미만의 숫자입니다.")
else:
    print("숫자를 다시 입력해주세요.")
# 문제7
num = int(input("숫자를 입력해주세요 : "))

if num%2==0 and num%3==0:
    print("2와 3의 배수입니다.")
elif num%2==0:
    print("2의 배수입니다.")
elif num%3==0:
    print("3의 배수입니다.")
else:
    print("2와 3의 배수가 아닙니다.")
# 문제8
designer = True
developer = False
writer = True

if designer or developer or writer:
    if designer:
        print("화려한 포스터를 준비합니다.")
    if developer:
        print("웹 사이트를 제작합니다.")
    if writer:
        print("기사 및 홍보 내용을 작성합니다.")
else:
    print("이벤트에 참여하기 위해서는 적어도 한 명 이상의 팀 멤버가 필요합니다.")
# 문제9
developer_skill = ['python', 'C++', 'Java']
designer_skiil = ['Photoshop','Illustrator']

work = input("직군을 작성해주세요 (ex. developer, designer) : ")

if work == 'developer':
    ican = input("사용할 수 있는 언어를 작성해주세요(ex. python, C++, Java) : ")
    if ican in developer_skill:
        print("우리 회사에 필요한 인재군요.")
    else:
        print("아쉽게도 채용이 불가합니다.")

if work == 'designer':
    ican = input("사용할 수 있는 프로그램을 작성해주세요(ex. Photoshop, Illustrator) : ")
    if ican in designer_skiil:
        print("우리 회사에 필요한 인재군요.")
    else:
        print("아쉽게도 채용이 불가합니다.")

for 반복문

  • 반복 횟수가 미리 정해진 경우에 주로 사용
  • 시퀀그 객체(문자열, 리스트, 튜플 등)의 각 요소를 하나씩 순회하면서 코드를 반복 실행하는 반복문
  • for반복문을 사용해 리스트의 모든 요소에 대해 작업을 수행하는 것이 가능
  • for문에서 in의 오른쪽에 올 수 있는 것은 반드시 iterable이어야 함.

while 반복문

조건을 제시하고 참인 경우에만 반복을 실행함

예외 처리

  • 예외 처리란 프로그램이 실행 중에 발생할 수 있는 예외 상황을 처리하는 방법
  • 예외는 프로그램 실행 중에 발생하는 오류나 예상치 못한 상황을 의미
  • 이러한 예외 상황에 대처하기 위해 파이썬은 try, except, finally 등의 예외 처리 구문 제공
  • 예외 처리를 통해 프로그램 실행 중에 예외가 발생해도 프로그램이 비정상적으로 종료되지 않도록 하거나, 출력하거나, 오류 상황을 처리할 수 있는 기회를 제공
    → 에러가 뜨는 원인을 찾아 수정하기 위해 사용

연습문제

# 문제1
numbers = [1, 2, 3, 4, 5]
index = 0
doubled_numbers = []

# 1부터 10까지의 합 구하기
while index < len(numbers):
    doubled_numbers.append(numbers[index] * 2)
    index += 1
print(doubled_numbers)
# 문제2

sentence = "The quick brown fox jumps over the lazy dog"
vowels = 'aeiou'

count = 0
index = 0
while index < len(sentence):
    char = sentence[index]
    if char.lower() in vowels:
        count += 1
    index += 1

print("문장에서 찾은 모음의 개수:", count)
# 문제3

while i <=100:
    for i in range(1,101):
        if i%2==1:
            print(i, end='')
    break
# 문제4
for i in range(1, 6):
    for j in range(i):
        print(i , '', end="")
    print()

0개의 댓글