반응형
(앞선 내용 / https://thpop.tistory.com/120)
앞서 프로그램의 기본 로직을 만들었고, 그 구조는 아래와 같다.
import random
def load_students(filename="students.txt"):
students = []
try:
with open(filename, 'r', encoding='utf-8') as file:
for line in file:
students.append(line.strip())
if not students:
print(f"경고: '{filename}' 파일이 비어있거나 학생 이름이 없습니다.")
return students
except FileNotFoundError:
print(f"오류: '{filename}' 파일을 찾을 수 없습니다. 파일 이름과 경로를 확인해주세요.")
return None
def assign_seats(students):
if not students:
return []
random.shuffle(students)
return students
if __name__ == "__main__":
student_list = load_students("students.txt")
if student_list:
randomly_assigned_students = assign_seats(student_list)
num_rows = int(input("행의 수를 입력하세요. : "))
num_cols = int(input("열의 수를 입력하세요. : "))
print("\n 교실 배치도 ")
seat_index = 0
for r in range(num_rows):
row_display = []
for c in range(num_cols):
if seat_index < len(randomly_assigned_students):
row_display.append(f"[{randomly_assigned_students[seat_index]}]")
seat_index += 1
else:
row_display.append("[빈자리]")
print(" ".join(row_display))
이제 이를 기반으로 AI의 도움을 받아 프로그램을 마저 만들어볼 것이다.
AI는 gemini를 사용하였다.
이러한 디자인으로 만들었고, pyinstaller을 이용해 exe파일로 만들어보았더니, 잘 작동되는 것을 확인하였다.
사용 방법 또한 간단하다. 학생 이름을 한 줄에 한 명씩 입력한 txt 파일을 준비하고, 파일 명을 입력한 뒤 자리배치를 실행하면 된다.
반응형
'파이썬 > 개인 작업' 카테고리의 다른 글
파이썬 프로그래밍 - 랜덤 자리 배치 프로그램 만들기 (2) (0) | 2025.05.11 |
---|---|
파이썬 프로그래밍 - 랜덤 자리 배치 프로그램 만들기 (1) (0) | 2025.05.11 |