Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread Mark Lawrence

On 01/11/2013 02:36, bob gailer wrote:

On 10/31/2013 2:51 PM, Carmen Salcedo wrote:

Thanks Bob! :) I'm very new at programming in Python. I appreciate
your feedback.

Here are some improvements to consider:

import string
def main():
 d = {"1" : phoneTranslator, "2" : backwardString}  # map user
selection to corresponding function
 while True:
 selection = raw_input("Enter you choice. Enter 1 " +
"for Phone Translator or 2 for Backward String.")
 operation = d.get(selection, None) # retrieve corresponding
function or None
 if operation: # did we get something?
 operation() # call it
 break # out of the while loop
 print "Invalid choice"

def phoneTranslator():
 trans = string.maketrans("ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"222333444555666888")
 print "Phone Translator "
 phoneNumber = raw_input ("Please enter the phone number: ").upper()
 phoneNumber = phoneNumber.translate(trans)
 print phoneNumber[:3] + "-" + phoneNumber[3:]

def backwardString():
 print "not implemented"

main()



Better yet wrap the call to main() so it's not always called when the 
module gets imported, plus some error handling wouldn't go amiss.  For 
anyone using Python 3 raw_input becomes input and you don't need the 
import string, it's simply str.maketrans(...).


--
Python is the second best programming language in the world.
But the best has yet to be invented.  Christian Tismer

Mark Lawrence

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


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread bob gailer

On 10/31/2013 2:51 PM, Carmen Salcedo wrote:

Thanks Bob! :) I'm very new at programming in Python. I appreciate your 
feedback.

Here are some improvements to consider:

import string
def main():
d = {"1" : phoneTranslator, "2" : backwardString}  # map user 
selection to corresponding function

while True:
selection = raw_input("Enter you choice. Enter 1 " +
   "for Phone Translator or 2 for Backward String.")
operation = d.get(selection, None) # retrieve corresponding 
function or None

if operation: # did we get something?
operation() # call it
break # out of the while loop
print "Invalid choice"

def phoneTranslator():
trans = string.maketrans("ABCDEFGHIJKLMNOPQRSTUVWXYZ", 
"222333444555666888")

print "Phone Translator "
phoneNumber = raw_input ("Please enter the phone number: ").upper()
phoneNumber = phoneNumber.translate(trans)
print phoneNumber[:3] + "-" + phoneNumber[3:]

def backwardString():
print "not implemented"

main()

--
Bob Gailer
919-636-4239
Chapel Hill NC

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


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread Carmen Salcedo
Thanks Bob! :) I'm very new at programming in Python. I appreciate your 
feedback.

Have a great week!

Sent from my iPhone

On Oct 31, 2013, at 1:07 PM, "bob gailer"  wrote:

> On 10/31/2013 10:11 AM, Carmen Salcedo wrote:
>> Thanks Bob! :) A list is great idea. I'm just trying to figure out how to 
>> print the number across like a phone number 555- instead of downward. 
>> I'm stuck on that.
> 
> I repeat what I said before:
>> 
>> There are many ways to get the desired output.
>> One is:
>>   collect the characters in one list, say numberList
>>   Then use slicing to insert the "-" e.g. numberList[3:3] = "-"
>>   Then print "".join(numberList)
> 
> -- 
> Bob Gailer
> 919-636-4239
> Chapel Hill NC
> 
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread Carmen Salcedo
Hi Mark,

Thanks for the feedback. I figured it out. Yes, I'm using python 2.7 (typo in 
the last email).

Have a great day.

Sent from my iPhone

On Oct 31, 2013, at 10:44 AM, "Mark Lawrence"  wrote:

> On 31/10/2013 02:00, Carmen Salcedo wrote:
>> Hi Everyone,
>> 
>> I hope you're having a great week.  I'm working on this program that
>> converts strings to integers. Can someone please help me out? :) Below
>> is the program:
>> 
>> def main():
>> selection = input("Enter you choice. Enter 1 " +
>>"for Phone Translator or 2 for Backward String.")
>> while selection != 1 and selection !=2:
>> print "Invalid choice"
> 
> I can tell from the print that you're using Python 2.x.  For reasons that I 
> won't go into here never, ever use input, use raw_input instead.  So try that 
> and when you hit problems please get back to us, giving the data that Bob 
> Gailer asked for earlier.
> 
> -- 
> Python is the second best programming language in the world.
> But the best has yet to be invented.  Christian Tismer
> 
> Mark Lawrence
> 
> ___
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread Carmen Salcedo
Thanks Bob! :) A list is great idea. I'm just trying to figure out how to print 
the number across like a phone number 555- instead of downward. I'm stuck 
on that.

5
5
5

Thanks again!

Carmen
Sent from my iPhone

On Oct 31, 2013, at 9:02 AM, "bob gailer"  wrote:

> On 10/31/2013 7:52 AM, Carmen Salcedo wrote:
>> I'm not able to post it right now. All I did to the previous program i 
>> emailed was changed isalpha() to str.isalpha.
> That does agree with what you posted or got.
> 
> The part of your original program that should print a character already is 
> print (str.isalpha()
> which raises this exception:
> 
>   File "N:\Script2.py", line 37, in phoneTranslator
> print(str.isalpha())
> TypeError: descriptor 'isalpha' of 'str' object needs an argument
> 
> it should be
> 
> print n
> 
> Exactly what did you type in response to 
> phoneNumber = raw_input ("Please enter the phone number: ")
> 
> Note you are not consistent in converting letters:
> elif n == "G" or n == "H" or n == "I":
> n = "4"
> elif n == "J" or n == "K" or n == "L":
> n = 5
> all the numbers should be characters e.g. 
> n = "5"
> etc.
> 
> There are many ways to get the desired output.
> One is:
>   collect the characters in one list, say numberList
>   Then use slicing to insert the "-" e.g. numberList[3:3] = "-"
>   Then print "".join(numberList)
> 
> -- 
> Bob Gailer
> 919-636-4239
> Chapel Hill NC
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread Carmen Salcedo
Hi,

I'm using python 2.7. I'm editing the program with idle. I use windows 8.

I finally got the string to convert to integers, however I can't figure out how 
to print them in this phone number format 555-5678.

The numbers are printing out this way.
5
5
5
5
6

Thank you very much. :)

Carmen 

Sent from my iPhone


Sent from my iPhone

On Oct 31, 2013, at 6:33 AM, "bob gailer"  wrote:

> On 10/30/2013 10:00 PM, Carmen Salcedo wrote:
> 
> > Hi Everyone,
> 
> hi
> 
> some guidelines for this list.
>  post in plain text not html.
>  tell us what version of Python you are using, what OS, what you use to edit 
> and run the program.
>  when replying:
>reply-all so a copy goes to the list
>put your responses following the relevant text
>delete irrelevant text
>if you get an exception (error) post the entire traceback. example:
> 
> File "N:\foo.py", line 2, in 
>2/0
> ZeroDivisionError: division by zero
> 
> > I hope you're having a great week.  I'm working on this program that 
> > converts strings to integers. Can someone please help me out? :)
> 
> What kind of help do you want?
> It is a lot easier for us and more profitable for you when you
>  are specific
>  tell us what kind of help you need
>  did you run the program?
>  what did you get and what did you expect?
> 
> >Below is the program:
> 
> > def main():
> > selection = input("Enter you choice. Enter 1 " +
> >"for Phone Translator or 2 for Backward String.")
> > while selection != 1 and selection !=2:
> > print "Invalid choice"
> > selection = input("Please enter you selection. Enter 1 " +
> >"for Phone Translator or 2 for Backward String.")
> > if selection == 1:
> > phoneTranslator()
> > elif selection == 2:
> > backwardString()
> > def phoneTranslator():
> > print "Phone Translator "
> > phoneNumber = raw_input ("Please enter the phone number: ")
> > phoneNumber = phoneNumber.upper()
> > for n in phoneNumber:
> > if str.isalpha(n):
> > if n == "A" or n == "B" or n == "C":
> > n = "2"
> > elif n == "D" or n == "E" or n == "F":
> > n = "3"
> > elif n == "G" or n == "H" or n == "I":
> > n = "4"
> > elif n == "J" or n == "K" or n == "L":
> > n = 5
> > elif n == "M" or n == "N" or n == "O":
> > n = 6
> > elif n == "P" or n == "Q" or n == "R" or n == "S":
> > n = 7
> > elif n == "T" or n == "U" or n == "V":
> > n = "8"
> > else:
> > n = "9"
> > print str.isalpha()
> > main()
> > Thanks!! :)
> > Carmen
> 
> -- 
> Bob Gailer
> 919-636-4239
> Chapel Hill NC
> 
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread Carmen Salcedo
I'm not able to post it right now. All I did to the previous program i emailed 
was changed isalpha() to str.isalpha.

Thanks


Sent from my iPhone

On Oct 31, 2013, at 7:09 AM, "bob gailer"  wrote:

> On 10/31/2013 6:49 AM, Carmen Salcedo wrote:
>> Hi,
>> 
>> I'm using python 2.7. I'm editing the program with idle. I use windows 8.
>> 
>> I finally got the string to convert to integers, however I can't figure out 
>> how to print them in this phone number format 555-5678.
>> 
>> The numbers are printing out this way.
>> 5
>> 5
>> 5
>> 5
>> 6
> Please post the new program.
> -- 
> Bob Gailer
> 919-636-4239
> Chapel Hill NC
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread bob gailer

On 10/31/2013 10:11 AM, Carmen Salcedo wrote:

I'm just trying to figure out how to print the number across like a phone 
number 555- instead of downward. I'm stuck on that.
  On further thought:


print "%s%s%s-%s%s%s%s" % tuple(numberList)

The % operator does formatting. Each %s is replaced by the next string 
in the tuple.


Just be sure you have exactly 7 characters in the list or this will fail.

--
Bob Gailer
919-636-4239
Chapel Hill NC

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


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread bob gailer

On 10/31/2013 10:11 AM, Carmen Salcedo wrote:

Thanks Bob! :) A list is great idea. I'm just trying to figure out how to print 
the number across like a phone number 555- instead of downward. I'm stuck 
on that.


I repeat what I said before:


There are many ways to get the desired output.
One is:
   collect the characters in one list, say numberList
   Then use slicing to insert the "-" e.g. numberList[3:3] = "-"
   Then print "".join(numberList)



--
Bob Gailer
919-636-4239
Chapel Hill NC

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


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread Mark Lawrence

On 31/10/2013 02:00, Carmen Salcedo wrote:

Hi Everyone,

I hope you're having a great week.  I'm working on this program that
converts strings to integers. Can someone please help me out? :) Below
is the program:

def main():
 selection = input("Enter you choice. Enter 1 " +
"for Phone Translator or 2 for Backward String.")
 while selection != 1 and selection !=2:
 print "Invalid choice"


I can tell from the print that you're using Python 2.x.  For reasons 
that I won't go into here never, ever use input, use raw_input instead. 
 So try that and when you hit problems please get back to us, giving 
the data that Bob Gailer asked for earlier.


--
Python is the second best programming language in the world.
But the best has yet to be invented.  Christian Tismer

Mark Lawrence

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


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread bob gailer

On 10/31/2013 7:52 AM, Carmen Salcedo wrote:
I'm not able to post it right now. All I did to the previous program i 
emailed was changed isalpha() to str.isalpha.

That does agree with what you posted or got.

The part of your original program that should print a character already is
print (str.isalpha()
which raises this exception:

  File "N:\Script2.py", line 37, in phoneTranslator
print(str.isalpha())
TypeError: descriptor 'isalpha' of 'str' object needs an argument

it should be

print n

Exactly what did you type in response to
phoneNumber = raw_input ("Please enter the phone number: ")

Note you are not consistent in converting letters:
elif n == "G" or n == "H" or n == "I":
n = "4"
elif n == "J" or n == "K" or n == "L":
n = 5
all the numbers should be characters e.g.
n = "5"
etc.

There are many ways to get the desired output.
One is:
  collect the characters in one list, say numberList
  Then use slicing to insert the "-" e.g. numberList[3:3] = "-"
  Then print "".join(numberList)

--
Bob Gailer
919-636-4239
Chapel Hill NC

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


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread bob gailer

On 10/31/2013 6:49 AM, Carmen Salcedo wrote:

Hi,

I'm using python 2.7. I'm editing the program with idle. I use windows 8.

I finally got the string to convert to integers, however I can't 
figure out how to print them in this phone number format555-5678 
.


The numbers are printing out this way.
5
5
5
5
6



Please post the new program.

--
Bob Gailer
919-636-4239
Chapel Hill NC

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


Re: [Tutor] Help with converting a string into a integer

2013-10-31 Thread bob gailer

On 10/30/2013 10:00 PM, Carmen Salcedo wrote:

> Hi Everyone,

hi

some guidelines for this list.
  post in plain text not html.
  tell us what version of Python you are using, what OS, what you use 
to edit and run the program.

  when replying:
reply-all so a copy goes to the list
put your responses following the relevant text
delete irrelevant text
if you get an exception (error) post the entire traceback. example:

File "N:\foo.py", line 2, in 
2/0
ZeroDivisionError: division by zero

> I hope you're having a great week.  I'm working on this program that 
converts strings to integers. Can someone please help me out? :)


What kind of help do you want?
It is a lot easier for us and more profitable for you when you
  are specific
  tell us what kind of help you need
  did you run the program?
  what did you get and what did you expect?

>Below is the program:

> def main():
> selection = input("Enter you choice. Enter 1 " +
>"for Phone Translator or 2 for Backward String.")
> while selection != 1 and selection !=2:
> print "Invalid choice"
> selection = input("Please enter you selection. Enter 1 " +
>"for Phone Translator or 2 for Backward String.")
> if selection == 1:
> phoneTranslator()
> elif selection == 2:
> backwardString()
> def phoneTranslator():
> print "Phone Translator "
> phoneNumber = raw_input ("Please enter the phone number: ")
> phoneNumber = phoneNumber.upper()
> for n in phoneNumber:
> if str.isalpha(n):
> if n == "A" or n == "B" or n == "C":
> n = "2"
> elif n == "D" or n == "E" or n == "F":
> n = "3"
> elif n == "G" or n == "H" or n == "I":
> n = "4"
> elif n == "J" or n == "K" or n == "L":
> n = 5
> elif n == "M" or n == "N" or n == "O":
> n = 6
> elif n == "P" or n == "Q" or n == "R" or n == "S":
> n = 7
> elif n == "T" or n == "U" or n == "V":
> n = "8"
> else:
> n = "9"
> print str.isalpha()
> main()
> Thanks!! :)
> Carmen

--
Bob Gailer
919-636-4239
Chapel Hill NC

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