Im trying to create a booking system for a cinema, What i want to do is :

open my csv with available seats, print it then ask the user what seat it wants, then the csv need to update taking away the seat, and then that seat gets added to the customers csv.

Any code, any ideas would be great THANKYOU

Recommended Answers

All 9 Replies

Any code

No one is going to give you code.

Well you have your problem explain, now start coding.
Opening: reading/writing: Click Here
Here's a small example of a csv file:

*,*,*,*,*,*,*,*,*,*,*
*,*,*,*,*,+,*,x,*,*,*
*,*,*,*,*,+,*,x,*,*,*
*,*,*,x,*,+,*,x,*,*,*
*,*,*,*,*,+,*,x,x,*,*
*,*,*,*,*,+,*,x,x,*,*
*,*,*,*,*,+,*,*,*,*,*

Where the '*' character marks an empty chair, 'x' marks an occupied chair, and '+' marks the corridor.

Design your data structures, then the process.
We have two files:

  • available.csv
  • customer.csv

available.csv at first is:
seatrow, seatcolumn

customer.csv at first is:
customerid, seatrow, seatcolumn

So the process at first is:

open available.csv for reading
ask user the customerid
check choosen customerid (no spaces, no commas)
print out available seats
as user the seatrow and seatcolumn, store
if the choice is illegal ask again
store useid, chooosen seatrow and seatcolumn
close available.csv
delete choosen seatcolumn, seatrow from available.csv
append choosen userid, seatrow, seatcolumn to customer.csv

Now you can begin writing the code (unfinished)

#open available.csv for reading
with open(available.csv) as fa:
    #ask user the customerid
    customerid=raw_input("What is your customerid?:")
    #check choosen customerid left for the user
    #print out available seats
    #read in seats
    seats=set()
    for line in fa: 
        row,column=str.map(int,line.split(","))
        seats.add((row,column))
    #printing

Lets suppose we are ready with printing. We can see, that we cannot display the corridor for the user. We forgot to mention what we really want...

So we must change available.csv
seatrow, seatcolumn, status

status can be 0: free, 1 corridor.

We change the process, change the code, and again.

After a while we begin to design the process without coding. So we do not need to run into walls to see, what we need.

how about putting alphaNumeric in your script...

you put something like "A1 -o" then it shows A1 as taken with a X when you input someting like "A1 -c" the it clear it.... will post when I get back another suggestion

you can make a dictionary (that will be the easiest way.) I will have a look into doing some code for this kind of thing... looks interesting.... If I may ask. What is your intentions? is it just for practice or is it for commercial or home use... just curios. I think you will get some open source gui stuf you you are doing it for commercial use

it was just for fun, just trying to get better at python

Did you do it then... I would love to read te code.... I am just a nub so I am still verymuch learning

nope, my dad thought it would be a good project for me to do but i gave up :/

give "how to think like a computer sientists learning with python" a try. Just get the right version for the version of python you have. When you get to the end try this again... it sound cool to me. I did a bit mockup that will work but it doesnt save in file

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.