랜덤 가위, 바위, 보 프로그램


import random #random 라이브러리 호출
def asc_code(select):
  # Rock Paper Scissors ASCII Art
  if select == "바위" :
      print("""
          _______
      ---'   ____)
            (_____)
            (_____)
            (____)
      ---.__(___)
      """)
      return "바위"

  if select == "보" :
      print("""
          _______
      ---'    ____)____
                ______)
                _______)
              _______)
      ---.__________)
      """)
      return "보"

  if select == "가위" :
      print("""
          _______
      ---'   ____)____
                ______)
            __________)
            (____)
      ---.__(___)
      """)
      return "가위"

def get_choices():
  player_choice = input("당신의 선택은 (가위, 바위, 보): ")
  options = ["가위", "바위", "보"]
  computer_choice = random.choice(options) #random 라이브러리로 options을 무작위 선택
  choices = {"player" : player_choice, "computer": computer_choice} #선태 결과를 딕셔너리 자료형으로 입력
  return choices #딕셔너리 결과를 반환

def check_win(player, computer): #선택된 인수값을 비교하여 결과에 알맞은 문자열 출력
  print(choices)
  if player == computer:
    return "비겼습니다."

  elif player == "바위":
    if computer == "가위":
      return "당신이 이겼습니다."
    else:
      return "당신이 졌습니다."
  elif player == "가위":
    if computer == "보":
      return "당신이 이겼습니다."
    else:
      return "당신이 졌습니다."
  elif player == "보":
    if computer == "바위":
      return "당신이 이겼습니다."
    else:
      return "당신이 졌습니다."


choices = get_choices()  #사용자와 컴퓨터의 가위, 바위, 보를 선택하는 함수 호출

print("당신 : " + choices["player"])
player_draw = asc_code(choices["player"])
print(player_draw)

print("컴퓨터: " + choices["computer"])
computer_draw = asc_code(choices["computer"])
print(computer_draw)

result = check_win(choices["player"], choices["computer"]) # chocies 딕셔너리에 입력된 값을 check_win()함수의 인수로 입력
print(result) #출력 결과물을 print()으로 출력


당신 : 바위

          _______
      ---'   ____)
            (_____)
            (_____)
            (____)
      ---.__(___)

바위
컴퓨터: 바위

          _______
      ---'   ____)
            (_____)
            (_____)
            (____)
      ---.__(___)

바위
{'player': '바위', 'computer': '바위'}
비겼습니다.

생일을 이용해 인생 시계 및 그래프 만들기

생일 입력 받고 마침표를 기준으로 문자열 분리하기

yy, mm, dd = input("당신의 생년, 월, 일을 입력해 주세요 ((예) 80.1.30) : ").split('.')

print(yy, mm, dd)
78 2 1

생일을 이용해 인생 시계 및 그래프 만들기

#오늘 날짜 불러오기
from datetime import datetime  #현재 날짜 라이브러리

today_year = datetime.today().year
today_month = datetime.today().month
today_day = datetime.today().day

#자신의 생일 및 목표 나이 입력 받기
user_year, user_month, user_day = input("당신의 생년, 월, 일을 입력해 주세요 ((예) 1980.1.30) : ").split('.')
user_year, user_month, user_day = int(user_year), int(user_month), int(user_day)
goal_age = int(input("당신의 목표 나이를 입력해주세요.(예) 80 : "))

#현재 날짜와 오늘 날짜 차이 계산하기
today_month_count = today_year * 12 + today_month #오늘 날짜를 개월 수로 표현
user_month_count = user_year * 12 + user_month #유저 생일을 개월 수로 표현

today_week_count = today_year * 52 + today_month * 4 #오늘 날짜를 주 수로 표현
user_week_count = user_year * 52 + user_month * 4 #유저 생일을 주 수로 표현


#살아온 월 계산
month_count = today_month_count - user_month_count #현재 날짜에서 유저 생일의 개월 수 차이 계산
remain1 = goal_age * 12 - month_count #목표 나이 기준으로 남은 개월 계산

#살아온 주 계산
week_count = today_week_count - user_week_count #현재 날짜에서 유저 생일의 주 차이 계산
remain2 = goal_age * 52 - week_count #목표 나이 기준으로 남은 주 계산


#결과 출력
print(f"당신의 생년월일은 {user_year}.{user_month}.{user_day} 입니다.")
print(f"오늘 날짜는 {today_year}.{today_month}.{today_day}입니다.")
print(f"당신의 현재까지 {month_count}개월을 살아오셨군요 또한 {week_count}주를 살아오셨어요.")
print(f"앞으로 {goal_age}년을 기준으로 {remain1}개월이 남았습니다. 또한 {remain2}주가 남았구요")
print("앞으로도 멋진 인생을 살아봐요!!")
print()
print(f"🔴 당신의 {goal_age}년 인생 그래프(백분율) 🔵")
print("🔴 : 살아 온 시간")
print("🔵 : 살아 갈 시간")
print()


#살아온 시간 백분율 환산
a, b = divmod(int(round((month_count / (goal_age * 12)) * 100, 0)), 10) #divmod 나눗셈의 몫과 나머지 구하기,
#a는 100분율로 환산환 십의 자리 값을 몫으로 받고, b는 100분율로 환산한 나머지 값을 받음

#인생 그래프 출력(살아온 시간)
# j = 1
# l = 1
# # 살아 갈 시간 십의 자리 출력
# while j <= 10-a:
#     k = 1
#     while k <= 10:
#         print("🔵", end=" ")
#         k += 1
#     print()
#     j += 1
# # 살아 갈 시간 일의 자리 출력
# while l <= 10-b:
#     print("🔵", end=" ")  #⭕️
#     l += 1
# # 살아 온 시간 일의 자리 이어서 출력
# j = 1
# l = 1
# while l <= b:
#     print("🔴", end=" ")
#     l += 1
# print()
# # 살아 온 시간 십의 자리 출력
# while j <= a:
#     k = 1
#     while k <= 10:
#         print("🔴", end=" ")
#         k += 1
#     print()
#     j += 1

for i in range(0, 10-a): # 살아 갈 시간 십의 자리 출력
    print("🔵 "*10, end="")
    print()
print("🔵 "*(10-b)+"🔴 " * b, end="")  #⭕️, # 살아 갈 시간 일의 자리 출력
print()
for i in range(0, a-1): # 살아 온 시간 십의 자리 출력
    print("🔴 "*10, end="")
    print()




당신의 생년월일은 2000.1.1 입니다.
오늘 날짜는 2022.12.4입니다.
당신의 현재까지 275개월을 살아오셨군요 또한 1188주를 살아오셨어요.
앞으로 80년을 기준으로 685개월이 남았습니다. 또한 2972주가 남았구요
앞으로도 멋진 인생을 살아봐요!!

🔴 당신의 80년 인생 그래프(백분율) 🔵
🔴 : 살아 온 시간
🔵 : 살아 갈 시간

🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵 🔵
🔵 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴
🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴

BMI 건강지킴이

#키와 무게를 입력받음
weight = input("당신의 몸무게를 kg단위로 입력해주세요. 예시 - 60 : ")
height = input("당신의 키를 m단위로 입력해 주세요. 예시 - 1.80 : ")

bmi = round(int(weight) / float(height)**2, 2)  #round를 이용하여 소수 둘째자리 구함.

print(f"당신의 체질량지수는 {bmi} kg/m2입니다.")

if bmi < 18.5 :
    print("당신은 저체중입니다. 체중을 늘려보세요.")
elif bmi < 25:
    print("당신은 정상체중입니다. 건강을 계속 유지해 보세요.")
elif bmi < 30 :
    print("당신은 과체중입니다. 식사를 조절해 보세요.")
elif bmi < 35 :
    print("당신은 비만입니다. 식사 조절과 적절한 운동을 해주세요.")
else :
    print("당신은 고도비만입니다. 반드시 식사 조절과 운동을 꼭 실천하셔야 합니다.")

당신의 체질량지수는 0.04 kg/m2입니다.
당신은 저체중입니다. 체중을 늘려보세요.