파이썬 미니 프로젝트(2)
윤년 계산하기
윤년 계산원리
- 4로 나누어 떨어지는 해는 윤년으로 한다.(1988, 1992, 1996, …) -> 4로 나누어 떨어지지 않으면 평년이다.
- 4, 100으로 나누어 떨어지는 해는 평년으로 한다.(1700, 1800, 1900, …) -> 4로 나누어 떨어지지만 100으로 나누어 떨어지지 않는 해는 윤년이다.
- 4, 100, 400으로 나누어 떨어지는 해는 윤년으로 둔다.(1600, 2000, 2400, …) -> 4, 100, 400으로 모두 나누어 떨어지는 해는 윤년이다.
다중 if 문
형태1) 각 조건이 참이라면 모두 실행
if 조건 :
do this
if 조건 :
do this
형태2) 첫 조건이 아니면 두 번째 조건 또는 세 번째 조건 실행
if 조건 :
do this
elif 조건 :
do this
else :
do this
형태3) 첫 조건이 맞으면 하위 조건 실행
if 조건 :
if 조건 :
do this
else :
do this
else :
do this
형태4) 여러 조건이 같이 실행될 때
if 조건1 & 조건2 & 조건3 :
do this
# 윤년을 알고 싶은 해 입력 받기
leap_year = int(input("윤년이 맞는지 알고 싶은 년도를 4자리 숫자로만 입력해 주세요. (예) 1980 : "))
if leap_year % 4 == 0 :
if leap_year % 100 == 0 :
if leap_year % 400 == 0 :
print(f"당신이 입력한 {leap_year}은 윤년입니다.")
else:
print(f"당신이 입력한 {leap_year}은 평년입니다.")
else:
print(f"당신이 입력한 {leap_year}은 윤년입니다.")
else:
print(f"당신이 입력한 {leap_year}은 평년입니다.")
당신이 입력한 2022은 평년입니다.
피자값 계산 프로그램
개발 내용
-
피자 크기 선택
- small pizza : 10,000원
- medium pizza : 15,000원
- large pizza : 20,000원
-
페퍼로니 추가
- small pizza : 2,000원
- medium pizza : 3,000원
- large pizza : 3,000원
-
치즈 추가
- 치즈 추가 : 1,000원
# 메뉴 선택
size = input("피자 사이즈를 선택해 주세요. 예) S, M, L : ")
pepperoni = input("페퍼로니를 추가하시겠어요? 예) Y, N : ")
cheese = input("치즈를 추가하시겠어요? 예) Y, N : ")
event_age = int(input("이벤트 중입니다. 현재 나이를 입력해 주세요. 예) 40 : "))
cost = 0
# 계산하기
if size == "S" :
cost += 10000
elif size == "M" :
cost += 15000
elif size == "L" :
cost += 20000
if event_age >= 40 and event_age < 50 :
cost = cost * 0.9
if pepperoni == "Y" :
if size == "S" :
cost += 2000
else :
cost += 3000
if cheese == "Y" :
cost += 1000
print(f"당신이 선택한 피자 사이즈는 {size}입니다.")
if pepperoni == "Y" :
if cheese == "Y" :
print("추가 토핑으로 페퍼로니와 치즈를 선택하였습니다.")
else :
print("추가 토핑으로 페퍼로니를 선택하였습니다.")
else :
if cheese == "Y" :
print("추가 토핑으로 치즈를 선택하였습니다.")
else :
print("추가 토핑을 선택하지 않았습니다.")
print(f"최종 피자 비용은 {cost}원 입니다.")
당신이 선택한 피자 사이즈는 L입니다.
추가 토핑으로 페퍼로니와 치즈를 선택하였습니다.
최종 피자 비용은 22000.0원 입니다.
사랑 계산기
소문자 변환과 카운트
# 영어 이름의 철자 카운트 세기
name = "STEVe"
print(name)
print(name.count("e")) #소문자 e의 카운트
lower_name = name.lower() # 대문자를 소문자로 변환
print(lower_name)
print(lower_name.count("e")) #소문자 e 카운트
STEVe
1
steve
2
프로그램 1차 버전(각 이름별 철자 카운트 세기)
print("사랑 계산기 프로그램입니다. ")
# 영어 이름 입력
name1 = input("당신의 영어 이름을 입력해 주세요. : ")
name2 = input("상대편의 영어 이름을 입력해 주세요. : ")
lower_name1 = name1.lower()
lower_name2 = name2.lower()
t_letter_count = lower_name1.count("t") + lower_name2.count("t")
r_letter_count = lower_name1.count("r") + lower_name2.count("r")
u_letter_count = lower_name1.count("u") + lower_name2.count("u")
e_letter_count = lower_name1.count("e") + lower_name2.count("e")
true_count_sum = t_letter_count + r_letter_count + u_letter_count + e_letter_count
l_letter_count = lower_name1.count("l") + lower_name2.count("l")
o_letter_count = lower_name1.count("o") + lower_name2.count("o")
v_letter_count = lower_name1.count("v") + lower_name2.count("v")
e_letter_count = lower_name1.count("e") + lower_name2.count("e")
love_count_sum = l_letter_count + o_letter_count + v_letter_count + e_letter_count
love_calcultor = str(true_count_sum) + str(love_count_sum)
print("당신의 이름은 : " + name1)
print("상대편의 이름은 : " + name2)
if int(love_calcultor) > 90 :
print("와우! 당신과 상대편의 사랑 지수는" + love_calcultor + "입니다. 매우 좋은 관계에요.")
elif int(love_calcultor) > 60 and int(love_calcultor) <= 90 :
print("당신과 상대편의 사랑 지수는 " + love_calcultor + "입니다. 관계를 더 돈독하게 해보세요.")
elif int(love_calcultor) <= 60 :
print("당신과 상대편의 사랑지수는 " + love_calcultor + "입니다. 노력이 필요해요. 더 친해져보려고 하세요.")
사랑 계산기 프로그램입니다.
당신의 이름은 : angel Yu
상대편의 이름은 : Jack Bauer
당신과 상대편의 사랑지수는 53입니다. 노력이 필요해요. 더 친해져보려고 하세요.
프로그램 2차 버전(이름 결합하여 철자 카운트 세기)
print("사랑 계산기 프로그램입니다. ")
# 영어 이름 입력
name1 = input("당신의 영어 이름을 입력해 주세요. : ")
name2 = input("상대편의 영어 이름을 입력해 주세요. : ")
combined_name = name1 + name2 #두 이름을 결합하여 새로운 문자열 만듬
lower_name = combined_name.lower()
true_letter_count = [lower_name.count("t"), lower_name.count("r"), lower_name.count("u"), lower_name.count("e")] #true 철자의 갯수를 리스트로 입력
love_letter_count = [lower_name.count("l"), lower_name.count("o"), lower_name.count("v"), lower_name.count("e")] #love 철자의 갯수를 리스트로 입력
true_count_sum = sum(true_letter_count) #sum을 이용하여 리스트 합 구하기
love_count_sum = sum(love_letter_count)
love_calcultor = str(true_count_sum) + str(love_count_sum) #정수를 문자열로 변환하여 결합
print("당신의 이름은 : " + name1)
print("상대편의 이름은 : " + name2)
if int(love_calcultor) > 90 or int(love_calcultor) < 10 :
print("와우! 당신과 상대편의 사랑 지수는" + love_calcultor + "입니다. 매우 좋은 관계에요.")
elif int(love_calcultor) >= 40 and int(love_calcultor) <= 50 :
print("당신과 상대편의 사랑 지수는 " + love_calcultor + "입니다. 관계를 더 돈독하게 해보세요.")
else :
print("당신과 상대편의 사랑지수는 " + love_calcultor + "입니다. 노력이 필요해요. 더 친해져보려고 하세요.")
사랑 계산기 프로그램입니다.
당신의 이름은 : Angela Yu
상대편의 이름은 : Jack Bauer
당신과 상대편의 사랑지수는 53입니다. 노력이 필요해요. 더 친해져보려고 하세요.
랜덤 선택 게임(당신의 선택은?)
import random #random 라이브러리 불러오기
conditions = {"direction":["왼쪽", "오른쪽"], "swim":["수영", "기다림"], "color":["빨강", "파랑"]} #conditions 딕셔너리 만들기
# print(conditions)
print("랜덤 선택 게임입니다. 당신의 선택은?")
answer = input("지금 당신 앞에 갈림길이 있습니다. 어느 방향으로 갈 것인지 결정해 보세요. (왼쪽 또는 오른쪽) : ") #첫번째 선택
# i = random.randrange(1, 2) #컴퓨터 무작위 선택
if random.choice(conditions["direction"]) == answer : #딕셔너리의 리스트 값 중에 무작위로 선택된 내용과 사용자가 선택한 값이 맞는지 확인
print(f"당신은 {answer}을 선택했군요. 다행입니다. 방향을 잘 잡았어요.")
answer = input("앞에 강이 있습니다. 뒤에서 늑대가 쫓아오는데 수영을 해서 강을 건너겠습니까? 아니면 배를 기다리겠습니까? (수영 또는 기다림) : ")
# i = random.randrange(1, 2)
if random.choice(conditions["swim"]) == answer : #두번째 선택
print(f"당신은 {answer}을 선택했군요. 다행입니다. 성공적으로 강을 건넜어요.")
answer = input("힘들게 목적지에 도착했는데 두 개의 문이 있습니다. 어떤 색의 문을 선택하겠습니까? (빨강 또는 파랑) : ")
# i = random.randrange(1, 2)
if random.choice(conditions["color"]) == answer : #세번째 선택
print(f"당신은 {answer}을 선택했군요. 당신의 선택이 옳았어요. 당신은 보물을 얻었습니다. 축하합니다.")
else :
print(f"당신은 {answer}을 선택했군요. 하지만 그 문은 감옥이었습니다. 게임을 종료합니다.")
else :
print(f"당신은 {answer}을 선택했군요. 당신은 죽었습니다. 게임을 종료합니다.")
else :
print(f"당신은 {answer}을 선택했군요. 길이 끊겼습니다. 게임을 종료합니다.")
랜덤 선택 게임입니다. 당신의 선택은?
당신은 오른쪽을 선택했군요. 길이 끊겼습니다. 게임을 종료합니다.