Re: [Tutor] Why isn't my simple if elif script not working?

2012-07-22 Thread Santosh Kumar
In first half of this script:

prompt = raw_input(Can you tell me your name? )
if prompt in (Yes, yes, y, Y):
name = raw_input(What's your name? )
elif prompt in (No, no, n, N):
exit(OK, have nice day..)
else:
prompt = name

if name == Santosh:
print Hey! I have the same name.
elif name in (John Cleese, Michael Palin):
print I have no preference about your name. Really!!
else:
print You have a nice name.

I want that if anyone enter their name at the first prompt the name
should be stored in name variable, or else if they enter anyone of
(Yes, yes, y, Y) they should be given another prompt where
they can enter their name. But currently when I enter name other than
(Yes, yes, y, Y) it says that name is not defined. How can I
fix this?
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Why isn't my simple if elif script not working?

2012-07-22 Thread Alan Gauld

On 22/07/12 06:58, Santosh Kumar wrote:


prompt = raw_input(Can you tell me your name? )
if prompt in (Yes, yes, y, Y):
 name = raw_input(What's your name? )
elif prompt in (No, no, n, N):
 exit(OK, have nice day..)
else:
 prompt = name


Don't you want

   name = prompt?



I want that if anyone enter their name at the first prompt the name
should be stored in name variable, or else if they enter anyone of
(Yes, yes, y, Y) they should be given another prompt where
they can enter their name. But currently when I enter name other than
(Yes, yes, y, Y) it says that name is not defined. How can I
fix this?


--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/



___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] How do I go from a textFile.txt to a list [] AND from a textFile.txt to a dictionary of dictionaries?

2012-07-22 Thread Gregory Lund
Only my second try to post to this list.
This is a dumb question with a simple (I presume) solution...
but...
how do I take a txt file with semicolon separated values and create a
dictionary and a list?
( in 2.6 because I'm working with ArcGIS.)

text file is as follows: (saved as text_data.txt) (it's longer,
this is just a sample)

ObjID;Xval;Yval;LineID;PolyID
0;1279027.0;246427.9375;0;1
1;1279069.625;246433.234375;0;1
2;1279091.0;246435.046875;1;1
3;1279112.5;246436.3125;1;1
4;1279134.0;246437.0;2;1
5;1279176.875;246436.71875;2;1
6;1279198.375;246435.734375;3;1
7;1279219.75;246434.1875;3;1

I'd like to create a list from said text data...
and a dictionary of dictionaries from said data.

Eventually I will create a point, line and polygon shapefiles from this file.
With the data above, it would be an 8 point pnt file, a 3 line line
file and 1 polygon. (point 7 connecting back to point 0)

Right now, I'm just trying to get started by creating a list and a
dictionary (to see which I want to use when creating my shapefiles.)

And, I need to do it in 2.6 because I'm working with ArcGIS.

Thanks in advance for your thoughts?
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] How do I go from a textFile.txt to a list [] AND from a textFile.txt to a dictionary of dictionaries?

2012-07-22 Thread Mark Lawrence

On 22/07/2012 23:33, Gregory Lund wrote:

Only my second try to post to this list.
This is a dumb question with a simple (I presume) solution...
but...
how do I take a txt file with semicolon separated values and create a
dictionary and a list?
( in 2.6 because I'm working with ArcGIS.)

text file is as follows: (saved as text_data.txt) (it's longer,
this is just a sample)

ObjID;Xval;Yval;LineID;PolyID
0;1279027.0;246427.9375;0;1
1;1279069.625;246433.234375;0;1
2;1279091.0;246435.046875;1;1
3;1279112.5;246436.3125;1;1
4;1279134.0;246437.0;2;1
5;1279176.875;246436.71875;2;1
6;1279198.375;246435.734375;3;1
7;1279219.75;246434.1875;3;1

I'd like to create a list from said text data...
and a dictionary of dictionaries from said data.

Eventually I will create a point, line and polygon shapefiles from this file.
With the data above, it would be an 8 point pnt file, a 3 line line
file and 1 polygon. (point 7 connecting back to point 0)

Right now, I'm just trying to get started by creating a list and a
dictionary (to see which I want to use when creating my shapefiles.)

And, I need to do it in 2.6 because I'm working with ArcGIS.

Thanks in advance for your thoughts?
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor



Your starter for 10 is the csv module specifically 
http://docs.python.org/library/csv.html#csv-fmt-params


--
Cheers.

Mark Lawrence.

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] How do I go from a textFile.txt to a list [] AND from a textFile.txt to a dictionary of dictionaries?

2012-07-22 Thread Walter Prins
Hi Greg,

Try this (next time try solving yourself first and post what you've
done and specific problems you're having trouble with.):

import csv

# read data using csv reader...
fileobj = open('text_data.txt')
csvreader = csv.reader(fileobj, delimiter=';')
csvreader.next() # skip header

# store lines indexed by line id in dict called polylines
# lines themselves are represented by lists.
polylines = {}

# store polygons made up of lines in dict called polygons
polygons = {}

# loop through point data from csvreader and unpack into
# dicts/lists
for line in csvreader:
#unpack lineid and polyid
lineid = line[3]
polyid = line[4]

# get the point data as list by slicing
# first entry in list is point id.
# maybe make points into a dict as well?
point = line[0:3]

# store the point in the correct line list:
# first create an empty list if needed then append
polylines[lineid] = polylines.get(lineid, [])
polylines[lineid].append(point)

# store the line in the correct polygon dict:
# first create empty dict if needed then add
# if the line not already part of the polygon.
polygons[polyid] = polygons.get(polyid, {})
if not lineid in polygons[polyid]:
polygons[polyid][lineid] = polylines[lineid]

# check the results with some pretty printing:
import pprint
pp = pprint.PrettyPrinter(indent=4)

print lines read from csv file:
pp.pprint(polylines)

print polygons read from csv file:
pp.pprint(polygons)

Walter
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor