Python Forum

Full Version: Make a Function from Name String
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I would like to turn the below into a function. Needs to find the name and pass it. When function is called it print name or unknown. Any suggestions appreciated.

namePart = "name: Anu Gao"
posName = namePart.find("name:")
if (posName > -1):
    name = namePart[posName+6:len(namePart)]
else:
    name = "Unknown"
print(name)
def get_name(namePart):
  posName = namePart.find("name:")
  if (posName > -1):
    name = namePart[posName+6:len(namePart)]
  else:
    name = "Unknown"
  return name
In [1]: namePart = "name: Anu Gao"

In [2]: " ".join(namePart.split()[1:])
Out[2]: 'Anu Gao'
Thanks for the response SRG. I think I am still missing something as I cannot get the code to execute and produce a name or "unkown". I tried adding a print statement after line 8, but no luck.

def get_name(namePart):
  namePart = "name: Anu Gao"
  posName = namePart.find("name:")
  if (posName > -1):
    name = namePart[posName+6:len(namePart)]
  else:
    name = "Unknown"
  return name
  print (name)
get_name("sally")
That's because you're overwriting the input "namePart" in line 2.

def get_name(namePart):
    #namePart = "name: Anu Gao"
    posName = namePart.find("name:")
    if (posName > -1):
        name = namePart[posName+6:len(namePart)]
    else:
        name = "Unknown"
    return name

print(get_name("sally"))
print(get_name("name: Anu Gao"))
Output:
Unknown Anu Gao