파이썬 도형 넓이 구하기

조회수 1495회

택스트 파일에 있는 내용을 리스트로 저장하여 내용의 도형과 좌표에 맞는 도형의 넓이를 구하는 프로그램을 만들려고 하는데 리스트의 범위를 벗어났다고 오류가 뜹니다.

import math
L = []

import os
path = "C:/temp"
filelist = os.listdir(path)

f = open("MP09data.txt")
lines = f.readlines()
for line in lines:
    print(line, end = '')
f.close


def getDistance(x1, y1, x2, y2):
    return math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)

def calcRectangleArea(t):
    width = getDistance(t[2], t[1], t[0], t[1])
    height = getDistance(t[0], t[3], t[0], t[1])
    return width * height

def calcTriangleArea(t):
    a = getDistance(t[0], t[1], t[2], t[3])
    b = getDistance(t[2], t[3], t[4], t[5])
    c = getDistance(t[0], t[1], t[4], t[5])
    s = (a + b + c) / 2
    return math.sqrt(s * (s - a) * (s - b) * (s - c))

def calcCircleArea(t):
    return math.pi * t[2] * t[2]


for i in range(0, 10, 2):
    if L[i] == '사각형':
        area = calcRectangleArea()
    elif L[i] == '삼각형':
        aerea = calcTriangleArea
    elif L[i] == '원':
        area = calcCircleArea

    print(L[i])
    print("면적: ", area)
Traceback (most recent call last):
  File "C:\Users\Desktop\Desktop\MP09\202110943 안세호 실습과제 #09.py", line 35, in <module>
    if L[i] == '사각형':
IndexError: list index out of range

뭐가 문제인가요? 어떻게고쳐야하죠?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)