Fwd: Issue with continous incrementing of unbroken sequence for aentire working day

Discussion in 'Python' started by Morten Engvoldsen, Feb 28, 2013.

  1. Hi,
    Okey i have wrote the below program as you suggested:

    import time
    from datetime import date

    def salesrecord():
    serial_number = 0
    sales_recrod = {'record1':'product1',
    'record2':'product2','record3':'product3'}
    for i in sales_recrod:
    print sales_recrod
    serial_number += 1
    print serial_number
    fo = open("workfile.txt", "wb")
    fo.write(str(serial_number))
    fo.close()
    with open("workfile.txt", 'r') as f:
    serial_number = f.read()
    today = date.today()



    salesrecord()


    Here i am bit confuse with where i should write the read file function to
    read the current serial number and date. also when i overwrite the file
    with current serial number, it will overwrite the date also with current
    date, in that case how will i compare the date. Can you please show me in
    my example how can i achive this..


    ---------- Forwarded message ----------
    From: Matt Jones <>
    To: "" <>
    Cc:
    Date: Thu, 28 Feb 2013 13:11:38 -0600
    Subject: Re: Issue with continous incrementing of unbroken sequence for a
    entire working day
    Store the day as well as the serial_number in your file. If the day is the
    same as today's day, use the serial_number, if not, use 1. At the end of
    you program write the current day and serial_number.

    *Matt Jones*


    On Thu, Feb 28, 2013 at 1:00 PM, Morten Engvoldsen <>wrote:
    Hi,
    thanks for youe suggestion. I think i will go for your second option:

    # Runs this loop until killed
    while True
    <do some stuff: clean serial_number, if day changed, calculate salesrecord
    etc.>

    serial_number = salesrecord(serial_number)


    But, if i save the serial_ number value in file, then how will it decide
    to reset the serial number to '1' when the batch runs on next working day.
    What condition can be good, so that next day when the batch runs, it will
    know it has to reset the value 1. Also my batch will not automatcilly run
    whole day, this is user's decision how many times he wants to run the batch
    in a day. Can you elebrate more how can i do that ...

    ---------- Forwarded message ----------
    From: Morten Engvoldsen <>
    Date: Thu, Feb 28, 2013 at 5:31 PM
    Subject: Issue with continous incrementing of unbroken sequence for a
    entire working day
    To:


    Hi team,
    I need to run a batch of sales records and the batch has serial_number
    filed to store the serial number of the sales record. The serial number
    should be set to 1 everyday when the batch runs first time in a day and
    the maximum serial number could be 1000.

    So when the batch runs first time in a day and if it has 10 records, so the
    last serial number will be 10. And when the batch runs 2nd time in same
    day, the serial number should start from 11. In this way serial_number
    will increment as an unbroken series throughout the entire working day. The
    next day when the batch runs first time the serial number will reset to 1.

    Now this could be sample code how the program can count the sequence for a
    batch:

    def salesrecord():
    serial_number = 1
    for i in selesrecord:
    print first_sales_record
    serial_number += 1
    print serial_number

    salesrecord()

    So if the batch has 10 records and last serial number of first batch is 10,
    then when the batch runs second time in the same day, how the
    'serial_number' will get the value of 10 and then continue the serial
    number for the same day, then for next day again the serial number will
    start from 1.

    Can you let me know how can i achive this in python? As i am in learning
    phase of python, can you let me know what would be good approach to do this
    in python.
     
    Morten Engvoldsen, Feb 28, 2013
    #1
    1. Advertising

  2. Morten Engvoldsen

    Rick Johnson Guest

    Re: Issue with continous incrementing of unbroken sequence for aentire working day

    On Thursday, February 28, 2013 2:41:30 PM UTC-6, Morten Engvoldsen wrote:
    >
    > [...]
    >
    > def salesrecord():
    >     serial_number = 0
    >     sales_recrod = {'record1':'product1',
    > 'record2':'product2',
    > 'record3':'product3',
    > }
    >
    >     for i in sales_recrod:
    >         print sales_recrod
    >         serial_number += 1
    >     print serial_number
    >     fo = open("workfile.txt", "wb")
    >     fo.write(str(serial_number))
    >     fo.close()
    >
    >     with open("workfile.txt", 'r') as f:
    >         serial_number = f.read()
    >     today = date.today()



    I would highly suggest breaking this code into a few specific functions:

    def main()
    def readDataFile()
    def writeDataFile()
    def computeDates()
    def processSalesRecord()

    and then run main from this:

    if __name__ == '__main__':
    main()

    PS: Please trim superfluous quotes.
     
    Rick Johnson, Feb 28, 2013
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vytas D.
    Replies:
    0
    Views:
    123
    Vytas D.
    Feb 28, 2013
  2. Morten Engvoldsen
    Replies:
    2
    Views:
    129
    Chris Angelico
    Feb 28, 2013
  3. Matt Jones
    Replies:
    0
    Views:
    133
    Matt Jones
    Feb 28, 2013
  4. Morten Engvoldsen
    Replies:
    0
    Views:
    145
    Morten Engvoldsen
    Feb 28, 2013
  5. Chris Angelico
    Replies:
    0
    Views:
    103
    Chris Angelico
    Feb 28, 2013
Loading...

Share This Page