함수 중급
출력과 함수
def my_function(a,b):
result= a * b
return result
a = int(input("첫번째 숫자 :"))
b = int(input("두번째 숫자 :"))
my_function(a,b)
첫 글자를 대문자로 변환하기
# 텍스트를 띄어쓰기별로 잘라 리스트로 변환 후 첫글자를 대문자로 변경하는 함수
def format_text(text):
result = ""
if text == "":
return "변환할 텍스트를 입력해 주세요."
text_list = text.split(" ")
for stext in text_list :
stext = stext[0:1].upper()+stext[1:]
result += stext + " "
# f_name = name_list[0]
# l_name = name_list[1]
# f_name = f_name[0:1].upper()+f_name[1:]
# l_name = l_name[0:1].upper()+l_name[1:]
# result = f_name +" "+ l_name
# print(f"입력한 이름 : {text}")
# print(f"변환한 이름 : {result}")
return f"입력한 텍스트 : {text}\n변환한 텍스트 : {result}"
text = input("영어 문장을 입력해주세요. 단어의 첫글자를 대문자로 변환합니다.")
text = text.lower()
print(format_text(text)) #print()로 함수의 return 내용을 출력
# title() 함수
print("title()함수 이용")
title_result = text.title()
print(f"title()함수 이용 변환 : {title_result}")
입력한 텍스트 : i’m late right now. take the shortest way, please.
변환한 텍스트 : I’m Late Right Now. Take The Shortest Way, Please.
title()함수 이용
title()함수 이용 변환 : I’M Late Right Now. Take The Shortest Way, Please.
월별 일수 출력하기
# 윤년 계산 함수
def leapyear(year):
"""윤년을 계산하는 함수""" #독스트링
if year % 4 == 0 :
if year % 100 == 0 :
if year % 400 == 0 :
return True
# print(f"당신이 입력한 {year}은 윤년입니다.")
else:
return False
# print(f"당신이 입력한 {year}은 평년입니다.")
else:
return True
# print(f"당신이 입력한 {year}은 윤년입니다.")
else:
return False
# print(f"당신이 입력한 {year}은 평년입니다.")
#월별 일수 리스트
def days_in_month(year, month):
"""해당 년도의 일수를 호출하는 함수""" #독스트링
#윤년 함수 호출
if leapyear(year) and month == 2 :
return f"{year}년 {month}월의 일수는 29일입니다."
else:
return f"{year}년 {month}월의 일수는 {month_days[month-1]}일입니다."
#사용자부터 질의
month_days= [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
year = int(input("년도를 4자리 숫자로만 입력해 주세요. (예) 1980 : "))
month = int(input("일수를 알고 있는 월을 숫자로 입력해 주세요. :"))
#결과값 출력
print(days_in_month(year, month))
내가 직접 만든 계산기 프로그램
logo = '''
_____________________
| _________________ |
| | JO 0. | |
| |_________________| |
| ___ ___ ___ ___ |
| | 7 | 8 | 9 | | + | |
| |___|___|___| |___| |
| | 4 | 5 | 6 | | - | |
| |___|___|___| |___| |
| | 1 | 2 | 3 | | x | |
| |___|___|___| |___| |
| | . | 0 | = | | / | |
| |___|___|___| |___| |
|_____________________|
'''
print(logo)
# 계산 순서 지정
repeat = True
# 계산기 연산 함수
def num_calculate(f_num, l_num, operation):
if operation == "+" :
result = f_num + l_num
return result
if operation == "-" :
result = f_num - l_num
return result
if operation == "*" :
result = f_num * l_num
return result
if operation == "/" :
result = f_num / l_num
return result
def calculator(f_num, l_num, operation):
result_dic ={}
result_dic["계산결과"] = num_calculate(f_num, l_num, operation)
return result_dic['계산결과']
index = 1
while repeat :
if index == 1:
f_num = int(input("첫번째 숫자를 입력해 주세요. :"))
operation = input("계산할 연산 기호를 입력해 주세요.(+, -, *, /) :")
l_num = int(input("두번째 숫자를 입력해 주세요. :"))
else:
user_repeat = input(f"계산 결과 {cal_result}에 이어서 계산할까요? 예 = y 또는 아니오 = n ")
if user_repeat == "n":
break
f_num = cal_result
operation = input("계산할 연산 기호를 입력해 주세요.(+, -, *, /) :")
l_num = int(input("숫자를 입력해 주세요. :"))
cal_result = calculator(f_num=f_num, l_num=l_num, operation=operation)
print(f"{index}번째 계산결과 : {cal_result}")
index +=1
print("계산 프로그램을 종료합니다.")
1번째 계산결과 : 15
2번째 계산결과 : 375
3번째 계산결과 : 125.0
계산 프로그램을 종료합니다.
Udemy 강의 계산기 프로그램
logo = '''
_____________________
| _________________ |
| | JO 0. | |
| |_________________| |
| ___ ___ ___ ___ |
| | 7 | 8 | 9 | | + | |
| |___|___|___| |___| |
| | 4 | 5 | 6 | | - | |
| |___|___|___| |___| |
| | 1 | 2 | 3 | | x | |
| |___|___|___| |___| |
| | . | 0 | = | | / | |
| |___|___|___| |___| |
|_____________________|
'''
print(logo)
#더하기
def add(n1, n2):
return n1 + n2
#빼기
def subtract(n1, n2):
return n1 - n2
#곱하기
def multiply(n1, n2):
return n1 * n2
#나누기
def divide(n1, n2):
return n1 / n2
#연산 딕셔너리
#연산기호에 따라 함수를 값으로 연결
operation = {
"+":add,
"-":subtract,
"*":multiply,
"/":divide
}
def calculator():
num1 = float(input("첫번째 숫자를 입력해 주세요. :"))
for symbol in operation: #operation 딕셔너리에서 for 반복문으로 키값 출력
print(symbol)
should_continue = True
while should_continue :
operation_symbol = input("계산할 연산 기호를 입력해 주세요. :")
num2 = float(input("다음 숫자를 입력해 주세요. :"))
#operation 딕셔너리에서 해당 연산기호의 함수이름을 calculation_function에 입력
calculation_function = operation[operation_symbol]
#calculation_function에 입력된 숫자 두개(num1, num2)추가하여 answer변수에 저장
answer = calculation_function(num1, num2)
print(f"{num1} {operation_symbol} {num2} = {answer}")
re_continue = input("이어서 계산할까요? 예 = y , 다시 시작 = n ")
if re_continue == "y" :
num1 = answer
else:
should_continue = False
calculator() #자신의 함수를 다시 호출하여 새로운 계산을 할 수 있도록 함
calculator()
_____________________
| _________________ |
| | JO 0. | |
| |_________________| |
| ___ ___ ___ ___ |
| | 7 | 8 | 9 | | + | |
| |___|___|___| |___| |
| | 4 | 5 | 6 | | - | |
| |___|___|___| |___| |
| | 1 | 2 | 3 | | x | |
| |___|___|___| |___| |
| | . | 0 | = | | / | |
| |___|___|___| |___| |
|_____________________|
+
-
*
/
5.0 + 0.8 = 5.8
5.8 * 48.0 = 278.4
+
-
*
/
48.0 * 2.0 = 96.0