On 2014-10-23 21:44, Seymore4Head wrote:
[snip]
I tried to make range(10) work in Python 3 by:
if int(y) in range(10):
name.append(str(y))
It doesn't.
You didn't say what happened when you tried, but I can guess.
When given, say, "g", it complains that it's not valid. Well, "g" isn't
a valid digit, so no surprise there!
def nametonumber(name):
lst=[]
for y in (name):
y.lower()
The .lower method _returns_ its result, which is just discarded.
What you need is:
y = y.lower()
if int(y) in range(10):
Non-digits don't have a numeric value, so that can fail.
name.append(str(y))
y is already a string, so str(y) is pointless.
if y in " -()":
name.append(y)
if y in "abc":
name.append("2")
if y in "def":
name.append("3")
if y in "ghi":
name.append("4")
if y in "jkl":
name.append("5")
if y in "mno":
name.append("6")
if y in "pqrs":
name.append("7")
if y in "tuv":
name.append("8")
if y in "wxyz":
name.append("9")
number="".join(str(e) for e in name)
The elements of the list name are already strings.
return (number)
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