1 분 소요

파이썬 객체지향 방식

Problem 1.

class scores :
  def __init__(self, name, k, e, m):
    self.name = name
    self.k = k
    self.e = e
    self.m = m

  def avg(self):
    return (self.k + self.e + self.m)/3

s1 = scores("홍길동", 50, 70, 90)

print("이름: %s" %s1.name)
print("국어: %d, 영어: %d, 수학: %d" %(s1.k, s1.e, s1.m))
print("평균: %.1f" %s1.avg())
이름: 홍길동
국어: 50, 영어: 70, 수학: 90
평균: 70.0

Problem 2.

class Ladder:
  def __init__(self, under, upper, height):
    self.under = under
    self.upper = upper
    self.height = height

  def area(self):
    return (self.under + self.upper)/2 * self.height


w1 = int(input("사다리꼴 밑변의 길이 입력: "))
w2 = int(input("사다리꼴 웻변의 길이 입력: "))
h = int(input("높이 입력: "))
ladder1 = Ladder(w1, w2, h)
print("사다리꼴의 면적: ", ladder1.area())
사다리꼴 밑변의 길이 입력: 10
사다리꼴 웻변의 길이 입력: 20
높이 입력: 3
사다리꼴의 면적:  45.0

Problem 3.

import random

x = ["가위", "바위", "보"]

print("가위바위보 게임")

while True :
  me = random.choice(x)
  you = random.choice(x)
  print("나: ", me)
  print("당신: ", you)
  if me == you :
    print("무승보")
  else :
    if (me =='가위' and you =='바위') or (me =='바위' and you =='보') or me =='보' and you =='가위':
      print("당신의 승리")
    else :
      print("나의 승리")

  yes = input("계속하려면 y를 입력하세요.")
  if yes != 'y' :
    print('게임이 종료되었습니다.')
    break
가위바위보 게임
나:  가위
당신:  가위
무승부
계속하려면 y를 입력하세요.y
나:  보
당신:  바위
나의 승리
계속하려면 y를 입력하세요.y
나:  바위
당신:  보
당신의 승리
계속하려면 y를 입력하세요.n
게임이 종료되었습니다.

Problem 4, 5.

def get_value(list1, n):
  try:
    result = list1[n]
  except IndexError:
    print("인덱스가 범위를 벗어남!")
    result = -1
  finally:
    return result

data = [10, 20, 30]

print(get_value(data, 4))
print(get_value(data, 1))
인덱스가 범위를 벗어남!
-1
20

카테고리:

업데이트:

댓글남기기