프로그래밍/Python

[파이썬/python] [리스트] 2차원 리스트, 리스트 함축

Rolen 2022. 8. 13. 23:03

책 : 파이썬express / P304 Q14
10 : 10 / 2차원 리스트 만들고 값은 0으로 입력
변수 = [[0 for x in range(10)] for y in range(10)]

사용자가 원하는 좌석을 선택시, 빈좌석 확인, 예약, 입력.

def seat_inf():
    print("좌석을 확인해주세요.")
    print("=================================")
    print("      1 2 3 4 5 6 7 8 9 10 열")
    print("=================================")
    print("              SCREEN")

def seat_check():
    for i in range(10):
        if i == 9:
            print(i+1,"행",end = " ")
        else:
            print(i+1,"행 ",end = " ")
        for j in range(10):
            print(seat[i][j], end = " ")
        print()

def reserve():
    if sel == 'Y' or add_sel == 'Y':

        seat_inf()

        seat_check()

        x = (int(input("원하는 행 번호를 입력하세요 : ")))-1
        y = (int(input("원하는 열 번호를 입력하세요 : ")))-1

        if seat[x][y] == 1:
            print("선택하신 곳은 빈자리가 아닙니다. 다시 선택해주세요.")
            reserve()

        seat[x][y] = 1
        
        print(f"예약하신 좌석은 {x+1}행 {y+1}열 입니다.")

        seat_inf()
        
        seat_check()
        
        add_sel = input("추가로 예약하시겠습니까? (Y/N) : ")
        add_sel = add_sel.upper()
        if add_sel == 'Y':
            reserve()
    elif sel == 'N' or add_sel == 'N': 
        print("다음에 또 이용해주세요.")


seat = [[0 for x in range(10)] for y in range(10)]
sel = input("예약을 하시겠습니까? (Y/N) : ")
sel = sel.upper()

reserve()

파이썬express / P304 Q14

리스트 함축사용,
// if를 좌측으로 사용할 시, else가 함께 쓰여야 한다.
if만 사용시 우측 사용.

game = [['#' if (mine() < 0.3) else ('.') for x in range(10)] for y in range(10)]
 
import random

def mine():
    rand = random.randint(1, 10)
    per = rand / 10
    return per

game = [['#' if (mine() < 0.3) else ('.') for x in range(10)] for y in range(10)]

for i in range(10):
    for j in range(10):
        print(game[i][j], end = " ")
    print()

+
이런 방식으로도 사용가능

import random as rd
aList = [rd.randint(0, 1) for i in range(10)]



728x90