파이썬/개인 작업

파이썬 프로그래밍 - 랜덤 자리 배치 프로그램 만들기 (完)

thpop 2025. 5. 15. 10:46
반응형

(앞선 내용 / 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 파일을 준비하고, 파일 명을 입력한 뒤 자리배치를 실행하면 된다.

자리배치프로그램.exe
10.56MB

반응형