On 2014-10-22 23:30, Seymore4Head wrote:
On Wed, 22 Oct 2014 16:30:37 -0400, Seymore4Head
<Seymore4Head@Hotmail.invalid> wrote:

One more question.
if y in str(range(10)
Why doesn't that work.

In what way doesn't it work?

If you want to know what it returns, print it out.

I commented it out and just did it "long hand"

def nametonumber(name):
     lst=[]
     nx=[]
     for x in (name):

You don't need to put the parens around name...

         lst.append(x)
     for y in (lst):

...or around lst.

You're iterating over a string, putting its characters into a list, and
then iterating over that list. You're doing more work than you need to!

         #if y in str(range(10)):
         if y in "1234567890":
             nx.append(y)
         if y in " -()":
             nx.append(y)
         if y in "abc":
             nx.append("2")
         if y in "def":
             nx.append("3")
         if y in "ghi":
             nx.append("4")
         if y in "jkl":
             nx.append("5")
         if y in "mno":
             nx.append("6")
         if y in "pqrs":
             nx.append("7")
         if y in "tuv":
             nx.append("8")
         if y in "wxyz":
             nx.append("9")
     number="".join(str(e) for e in nx)

The list nx already contains strings, so you don't need str here.

     return (number)

You don't need the parens here either.

a="1-800-getcharter"
print (nametonumber(a))#1800 438 2427 837
a="1-800-leo laporte"
print (nametonumber(a))
a="1 800 callaprogrammer"
print (nametonumber(a))


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to