제어문(조건문과 반복문)
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()