파이썬 도형 넓이 구하기
조회수 1499회
택스트 파일에 있는 내용을 리스트로 저장하여 내용의 도형과 좌표에 맞는 도형의 넓이를 구하는 프로그램을 만들려고 하는데 리스트의 범위를 벗어났다고 오류가 뜹니다.
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 답변
-
맨 위에 정의된 빈 리스트
L
에 아무것도 안 넣고 계십니다.뭔가
append()
하셔야 할 겁니다.- 저 상태에서 L리스트를 출력해봤을때, 택스트 내용이 출력되는 걸로 보아 저장은 되는거 같습니다. 다만 행 기준으로 저장되어 있어서 인덱스가 맞지 않는거 같습니다. 어떻게 해야하죠? 알 수 없는 사용자 2021.5.17 17:12
댓글 입력