if, elif, else 키워드를 사용if 조건1:
# 조건1이 참일 때 실행할 코드
elif 조건2:
# 조건1이 거짓이고 조건2가 참일 때 실행할 코드
else:
# 모든 조건이 거짓일 때 실행할 코드
if 조건1:
if 조건2:
# 조건1과 조건2가 모두 참일 때 실행할 코드
else:
# 조건1은 참이지만 조건2가 거짓일 때 실행할 코드
else:
# 조건1이 거짓일 때 실행할 코드
and: 양쪽 조건이 모두 참일 때만 참or: 양쪽 조건 중 하나라도 참이면 참not: 조건의 결과를 반대로 바꿈if 조건1 and 조건2:
# 조건1과 조건2가 모두 참일 때 실행
if 조건1 or 조건2:
# 조건1이나 조건2 중 하나라도 참일 때 실행
if not 조건:
# 조건이 거짓일 때 실행
score = int(input("성적을 입력하시오: "))
if score >= 90:
print("학점 A")
elif score >= 80:
print("학점 B")
elif score >= 70:
print("학점 C")
elif score >= 60:
print("학점 D")
else:
print("학점 F")
month = int(input("월을 입력하시오: "))
if month == 2:
print(month, "월의 날수는 28일")
elif month in [4, 6, 9, 11]:
print(month, "월의 일수는 30일")
elif month in [1, 3, 5, 7, 8, 10, 12]:
print(month, "월의 일수는 31일")
else:
print(month, "월은 없습니다.")
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
(필요에 따라 except 절을 추가로 작성)
try:
# 예외가 발생할 수 있는 코드
x = int(input('숫자를 입력하세요: '))
y = 10 / x
print(y)
except ValueError:
# 값 오류 발생 시 실행되는 코드
print('숫자가 아닌 값을 입력했습니다.')
except ZeroDivisionError:
# 0으로 나누기 시도 시 실행되는 코드
print('0으로 나눌 수 없습니다.')
except:
# 다른 모든 예외 발생 시 실행되는 코드
print('알 수 없는 오류가 발생했습니다.')
def 함수이름(매개변수1, 매개변수2, ...):
# 함수 본문
return 반환값 # 선택적
# 함수 호출
결과변수 = 함수이름(인수1, 인수2, ...)
return 문을 사용하여 함수의 결과를 반환return 문이 없으면 함수는 None을 반환def get_values():
return 1, 2, 3
a, b, c = get_values()
def greet(name, msg="안녕하세요"):
print(name + ", " + msg)
greet("영희") # 기본 메시지 사용
greet("영희", "오랜만이에요") # 사용자 지정 메시지 사용
def calculate(x, y, z):
return x + y + z
result = calculate(y=20, x=10, z=30) # 순서 상관없이 매개변수 이름으로 전달
import 문을 사용하여 모듈을 가져옴import math
radius = 10
area = math.pi * radius ** 2
# 모듈에서 특정 함수나 변수만 가져오기
from math import pi, sqrt
area = pi * radius ** 2
다음 코드의 오류를 찾아 수정하세요. 이 코드는 학점을 계산하는 프로그램입니다.
score = int(input("성적을 입력하시오: "))
if score >= 90:
print("학점 A")
elif score >= 60:
print("학점 D")
elif score >= 70:
print("학점 C")
elif score >= 80:
print("학점 B")
else:
print("학점 F")
score = int(input("성적을 입력하시오: "))
if score >= 90:
print("학점 A")
elif score >= 80:
print("학점 B")
elif score >= 70:
print("학점 C")
elif score >= 60:
print("학점 D")
else:
print("학점 F")
다음 코드의 실행 결과를 예측하세요.
age = 20
height = 180
if (age >= 10 and height >= 165):
print("놀이 기구를 탈 수 있습니다.")
else:
print("놀이 기구를 탈 수 없습니다.")
사용자로부터 월을 입력받아 해당 월의 일수를 출력하는 프로그램을 작성하세요. 단, 사용자가 숫자가 아닌 값을 입력할 경우 예외 처리를 하고, 1~12 이외의 숫자를 입력할 경우에도 적절한 메시지를 출력하세요.
try:
month = int(input("월을 입력하시오: "))
if month == 2:
print(month, "월의 날수는 28일")
elif month in [4, 6, 9, 11]:
print(month, "월의 일수는 30일")
elif month in [1, 3, 5, 7, 8, 10, 12]:
print(month, "월의 일수는 31일")
else:
print(month, "월은 없습니다.")
except ValueError:
print("입력값이 숫자 타입의 월이 아닙니다.")
print("월은 3월로 자동 입력됩니다.")
month = 3
print(month, "월의 일수는 31일")
두 숫자 중 큰 수를 반환하는 함수 get_max()를 구현하세요.
def get_max(x, y):
if x > y:
return x
else:
return y
# 테스트
print(get_max(10, 20)) # 20 출력
print(get_max(30, 15)) # 30 출력
다음 함수에서 오류를 찾아 수정하세요.
def power(x, y):
result = 1
result = result * x * y
return result
print(power(10, 2))
def power(x, y):
result = x ** y # 또는 result = pow(x, y)
return result
print(power(10, 2)) # 100 출력
math 모듈을 사용하여 반지름이 주어졌을 때 구의 부피를 계산하는 함수 sphere_volume()을 작성하세요.
import math
def sphere_volume(radius):
volume = (4.0 / 3.0) * math.pi * radius ** 3
return volume
# 테스트
radius = float(input("구의 반지름을 입력하시오: "))
print(sphere_volume(radius))
이름과 메시지를 인수로 받아 인사말을 출력하는 함수 greet()을 작성하세요. 메시지에는 기본값 "별일없죠?"를 사용하세요.
def greet(name, msg="별일없죠?"):
print("안녕 " + name + ", " + msg)
# 테스트
greet("영희") # "안녕 영희, 별일없죠?" 출력
greet("영희", "지금 집에 있니?") # "안녕 영희, 지금 집에 있니?" 출력
사용자로부터 나이와 키를 입력받아 다음 조건에 따라 적절한 메시지를 출력하는 프로그램을 작성하세요.
try:
age = int(input("나이를 입력하세요: "))
height = float(input("키를 입력하세요(cm): "))
if age >= 12 and height >= 140:
print("모든 놀이기구를 탈 수 있습니다.")
elif age >= 10 and height >= 130:
print("대부분의 놀이기구를 탈 수 있습니다.")
else:
print("일부 놀이기구만 탈 수 있습니다.")
except ValueError:
print("나이와 키는 숫자로 입력해야 합니다.")
섭씨 온도와 화씨 온도를 상호 변환하는 두 함수 celsius_to_fahrenheit()와 fahrenheit_to_celsius()를 작성하세요. 사용자로부터 변환하고자 하는 온도와 단위(C 또는 F)를 입력받아 변환 결과를 출력하는 프로그램을 작성하세요.
def celsius_to_fahrenheit(temp_c):
temp_f = (9.0 / 5.0) * temp_c + 32.0
return temp_f
def fahrenheit_to_celsius(temp_f):
temp_c = (5.0 / 9.0) * (temp_f - 32.0)
return temp_c
try:
temp = float(input("온도를 입력하세요: "))
unit = input("단위를 입력하세요(C 또는 F): ")
if unit.upper() == "C":
converted = celsius_to_fahrenheit(temp)
print(f"{temp}°C는 {converted:.2f}°F입니다.")
elif unit.upper() == "F":
converted = fahrenheit_to_celsius(temp)
print(f"{temp}°F는 {converted:.2f}°C입니다.")
else:
print("단위는 C 또는 F로 입력해야 합니다.")
except ValueError:
print("온도는 숫자로 입력해야 합니다.")
사용자로부터 두 개의 정수를 입력받아 나눗셈을 수행하는 프로그램을 작성하세요. 다음 예외를 처리해야 합니다:
try:
num1 = int(input("첫 번째 정수를 입력하세요: "))
num2 = int(input("두 번째 정수를 입력하세요: "))
result = num1 / num2
print(f"{num1} / {num2} = {result}")
except ValueError:
print("입력값이 정수가 아닙니다. 정수를 입력해주세요.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다. 두 번째 숫자는 0이 아닌 값을 입력해주세요.")
except:
print("알 수 없는 오류가 발생했습니다.")
사용자로부터 세 개의 숫자를 입력받아, 가장 큰 수를 반환하는 함수 find_largest()를 작성하세요. 이 함수를 사용하여 최댓값을 출력하는 프로그램을 작성하세요.
def find_largest(a, b, c):
if a >= b and a >= c:
return a
elif b >= a and b >= c:
return b
else:
return c
try:
num1 = float(input("첫 번째 숫자: "))
num2 = float(input("두 번째 숫자: "))
num3 = float(input("세 번째 숫자: "))
largest = find_largest(num1, num2, num3)
print(f"가장 큰 수는 {largest}입니다.")
except ValueError:
print("유효한 숫자를 입력해주세요.")
math 모듈을 사용하여 다음 기능을 수행하는 프로그램을 작성하세요:
import math
def circle_properties(radius):
circumference = 2 * math.pi * radius
area = math.pi * radius ** 2
return circumference, area
def sphere_properties(radius):
surface_area = 4 * math.pi * radius ** 2
volume = (4/3) * math.pi * radius ** 3
return surface_area, volume
try:
radius = float(input("원의 반지름을 입력하세요: "))
if radius <= 0:
print("반지름은 양수여야 합니다.")
else:
circ, area = circle_properties(radius)
surf_area, volume = sphere_properties(radius)
print(f"원의 둘레: {circ:.2f}")
print(f"원의 면적: {area:.2f}")
print(f"구의 표면적: {surf_area:.2f}")
print(f"구의 부피: {volume:.2f}")
except ValueError:
print("유효한 숫자를 입력해주세요.")