Date using input

flebber.crue at gmail.com flebber.crue at gmail.com
Thu Sep 24 18:32:09 EDT 2009


Okay, thanks for the advice that sounds a good place to start. I used %2.os  
was an attempt to define width and precision to stop typo errors eg the  
user accidentally inputing 101/09/2009 or similar error. So that the  
__/__/____ was adhered to.

I will go back to the start get the basics happening and then figure out a  
way to catch errors with format and correctness.

Thanks


On Sep 25, 2009 3:57am, Dave Angel <davea at ieee.org> wrote:
> flebber wrote:


> On Sep 24, 11:10 pm, flebber flebber.c... at gmail.com> wrote:




> On Sep 24, 10:58 pm, Dave Angel da... at ieee.org> wrote:










> flebber.c... at gmail.com wrote:




> I am using python 2.6.2, I haven't updated to 3.0 yet. No I have no

> class or instructor, I am learning this myself. I have Hetlands book

> "Beginning Python Novice to Professional and online documentation

> books so Dive into Python, python.org etc.

> Using the SPE editor.

> I have currently only fully written basic psuedocode to give me a

> basic framework to guide myself.

> #Basic pseudocode

> #Purpose to get raw input and calculate a score for a field of options

> and return that

> #score in a set in descending order.

> #Multiple sets sould be written to the doc

> #Obtain date

> #Check if txt file with same date exists. If yes apphend to results to

> file.

> #Obtain location

> #Set Dictionary

> #Event number

> #Obtain set size

> #Prompt first entry

> #First Entry Number

> #First Entry Name

> #Set Blocks to obtain and calculate data

> #Block 1 example - Placings Block

> #Obtain number of events competed in

> #Obtain how many times finished first

> #Ensure this value is not greater than Number of Events

> #Number of Firsts divide by Events * total by 15.

> #Obtain Second finishes

> #Ensure this value is not greater than Number of Events

> #Number of Seconds divide by Events * total by 10.

> #Continue On with this

> #Block 2 - Lookup coach Dict and apply value.

> #Obtain Surname of Coach

> #Lookup Coach File and Match Name and get value.

> #Blocks continue gaining and calculating values.

> #create txt file named using date

> #Sum Values Block1 + Block2 etc

> #Print to file event number and field with name number individual

> Block totals and Sum Total

> #Arranged in descending Sum Total.

> #Prompt are there any more events? Yes return to start

> #Apphend all additional events to same day file seperated by blank line.




> How many of these steps have you attempted actually coding? Seems to me

> your first two steps are just string manipulation, and you only need to

> use the datetime module if you need to validate. In other words, if the

> user specifies the date as 31/09/2009, you might want to later bounce

> back to him with a complaint that September only has 30 days.

> So the first task is to accept input in the form ab/cd/efgh and

> produce a string efgh-cd-ab.log which you will then create as a text

> file. And if the file exists, you'll append to it instead of

> overwriting it. Can you do that much?

> DaveA




> Trying but haven't got it working, thats why I started to try and use

> datetime module.






> Surely getting it tottally mixed up



> from datetime import date

> def ObtainDate(params):

> date =aw_input("Type Date dd/mm/year: %2.0r%2.0r/%2.0r%2.0r/%4.0r

> %4.0r%4.0r%4.0r")

> print date.datetime(year-month-day)

> #Check if txt file with same date exists. If yes apphend to results

> to file.

> date.append(datetime



> and



> def ObtainDate(params):

> date =aw_input("Type Date dd/mm/year: ")

> date.format =%4.0s%4.0s%4.0s%4.0s-%2.0s%2.0s-%2.0s)

> print date.format










> As Tim says, first thing you want to do is rename that variable. You've  
> defined two symbols with the same name.



> Then I'd ask what that %2.0r.... stuff is inside the prompt to the user.



> Do you understand what kind of data is returned by raw_input() ? If so,  
> look at the available methods of that type, and see if there's one called  
> split() that you can use to separate out the multiple parts of the user's  
> response. You want to separate the dd from the mm and from the year.



> Once you've split the text, then you want to recombine it in a different  
> order, and with dashes between the parts. If I were at your stage of  
> experience, I'd not bother with the datetime module at all. Just see if  
> you can rebuild the string you need, assuming the user has entered a  
> valid 10-character string.



> Later you can go back and figure out the datetime logic.



> DaveA

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20090924/7f5ca29a/attachment-0001.html>


More information about the Python-list mailing list