프로젝트/개인 프로젝트
[간단 코드] 좌석 예약(3)
프리_
2024. 1. 17. 20:00
반응형
심심해서 만들어 본 좌석 예약 코드
본격적으로 좌석을 예약하는 코드를 작성해 동작까지 진행해보자.
함수 s_r() 작성
1
2
3
4
5
6
7
8
9
10
11
12
13
|
def s_r() : # 좌석 예약
row = int(input("좌석의 행 번호를 입력하세요(종료는 -1): "))
if (row == -1) : my_exit()
else :
col = int(input("좌석의 열 번호를 입력하세요(종료는 -1): "))
if (col == -1) : my_exit()
if (T_Table[row-1][col-1] == 0) :
T_Table[row-1][col-1] = 1
f_T_Table()
print("%d행, %d열 좌석이 예약되었습니다." % (row, col))
elif (T_Table[row-1][col-1] == 1) : print("이미 예약된 자리입니다.")
else : print("ERROR")
|
cs |
함수 s_r()에서는 좌석의 행 번호와 열 번호를 입력받아 좌석의 예약 정보를 확인 후, 좌석을 예약한다. 이때, 해당 좌석이 기존에 예약되어 있으면 예약이 되어있음을 알려주고 예약을 진행하지 않는다. 또한, -1 입력 시 프로그램을 종료한다.
코드 설명
1 ~ 13: 함수 s_r() 선언
2 ~ 6: 행 번호 및 열 번호 입력
3, 6: -1 입력 시 프로그램 종료
8, 12 ~ 13: 예약 유무 확인
9 ~ 11: 예약 진행
13: Error 확인 코드
함수 my_exit() 작성
1
2
3
4
5
|
import sys
def my_exit() :
print("프로그램을 종료합니다", end = '')
sys.exit(0)
|
cs |
함수 my_exit()은 프로그램 종료를 알려준 뒤, 프로그램을 종료한다. 이 동작을 종종 사용할 예정이기에 함수로 작성하였다.
코드 설명
1: 함수 exit()을 사용하기 위해 sys 불러오기
3 ~ 5: 함수 my_exit() 선언
4: 종료 문구 출력
5: 프로그램 종료
실행부 작성
1
2
3
4
5
6
7
|
while True :
print("예약: 0 종료: -1")
sere = int(input("입력 위치: "))
if (sere == -1) : my_exit()
elif (sere == 0) :
s_r()
else : print("ERROR 잘못된 입력입니다.")
|
cs |
좌석 예약은 프로그램이 종료되기 전까지 계속 새로운 예약을 받거나 종료된 이후에도 계속 정보를 저장할 수 있어야 한다. 여기서는 프로그램이 종료되기 전까지만 정보를 저장하되, 계속 정보(새로운 예약)를 받을 수 있도록 동작하는 코드를 작성했다. 무한 루프를 이용해 재입력이 가능하도록 하였으며, 시작 화면을 두어 진행 여부를 결정할 수 있도록 작성하였다.
코드 설명
1 ~ 7: while문 무한 루프
2 ~ 3: 시작 화면. 예약 유무 입력
4 ~ 7: 입력 값에 따른 프로그램 동작
7: Error 확인 코드
더보기
현재 단계에서 작성한 코드 결과물
# 선언부
import sys
T_Table = [i*0 for i in range (10)]
temp_s = f'{"":-<38}'
def my_exit() :
print("프로그램을 종료합니다", end = '')
sys.exit(0)
def f_T_Table() : # 좌석 출력
print(temp_s)
print("\t", end = '')
for i in range (10) :
print(i+1, end = ' ')
print("\n", end = "%s\n" %temp_s)
for r in range (10) :
print("[%02d]" % (r+1), end = '\t')
for c in range (10) :
print(T_Table[r][c], end = ' ')
print("")
def s_r() : # 좌석 예약
row = int(input("좌석의 행 번호를 입력하세요(종료는 -1): "))
if (row == -1) : my_exit()
else :
col = int(input("좌석의 열 번호를 입력하세요(종료는 -1): "))
if (col == -1) : my_exit()
if (T_Table[row-1][col-1] == 0) :
T_Table[row-1][col-1] = 1
f_T_Table()
print("%d행, %d열 좌석이 예약되었습니다." % (row, col))
elif (T_Table[row-1][col-1] == 1) : print("이미 예약된 자리입니다.")
else : print("ERROR")
# 리스트 초기화
for i in range (10) :
T_Table[i] = [i*0 for i in range (10)]
"""
# 저장 값 확인
print(T_Table)
"""
# 초기값 출력
f_T_Table()
while True :
print("예약: 0 종료: -1")
sere = int(input("입력 위치: "))
if (sere == -1) : my_exit()
elif (sere == 0) :
s_r()
else : print("ERROR 잘못된 입력입니다.")
실행 및 결과
실행 시 출력되는 기본 화면 | 0 입력 | 3행 4열 예약 | 3행 4열 중복 예약 |
잘못된 입력 | -1 입력 |
실행 및 결과 - window 화면
실행 시 출력되는 기본 화면 | 0 입력 | 3행 4열 예약 |
잘못된 입력 | 3행 4열 중복 예약 |
반응형