我只是玩弄函数以便进一步理解它们,我很好奇,是否可以使用以下函数返回用户名和最后一个初始函数而不添加任何其他函数?
name = raw_input("Please enter your full name: ")
def username(a):
print(a[0:6]+a[-1])
username(name)
答案 0 :(得分:0)
您当前的函数采用名字和姓氏的长度。你可以试试 print(a.split()[0] +'' + a.split()[1] [0])。 split()会将字符串更改为两个元素的列表,元素0是第一个名称,元素1是姓氏。
a [-1]会给你字符串的最后一个字母,听起来你不希望这个字符用于你的目的。
答案 1 :(得分:0)
如果输入名称的长度可能会有所不同,那么您必须使用另一个函数split
和index
。如果用户只需输入一个名称,您就需要添加if
或try...except
。
a[:a.index(' ')])
将从输入的开头到第一个空格
如果找不到该字符,则
index
会返回ValueError,如果他们可能只输入名字环绕,请尝试使用...
a.split()[-1][0]
将获得姓氏的第一个字母,即使他们输入两个以上的名字(Billy Bob Joe - > Billy J)
name = raw_input("Please enter your full name: ")
def username(a):
print(a[:a.index(' ')]+' '+a.split()[-1][0])
username(name)
答案 2 :(得分:0)
name = raw_input("Please enter your full name: ")
def username(a):
fullname = a.strip().split(' ')
if len(fullname) < 2:
print('Error: last name required')
print('Type: firstname <middle name> last name')
exit(1)
try:
print('%s %s' % (fullname[0], fullname[-1][0]))
except IndexError:
exit(1)
username(name)
答案 3 :(得分:0)
这就是我设法实现你们所提供给我的信息的方式。
'''
code to input full name and convert into username consisting of first + first
initial of last name or first and first initial of first name if input is one name.
'''
def fullname():
name = raw_input("Please enter your full name: ").lower()
try:
name = (name[:name.index(' ')]+''+name.split()[len(name.split())-1][0])
except:
name = name[0:]+name[0]
return name
# code to generate exponential numbers
def print_exponential():
base = int(raw_input("Please select a base number: \n"))
power = int(raw_input("Please select a power number: \n"))
exponential = 1
while power>0:
exponential = exponential * base
print base
if power >1:
print "*"
power = power -1
print "=%d" % exponential
'''
code to generate interactive menu with an error return for incorrect selection and exit clause.
'''
ans=True
while ans:
print ("""
U.Create a Username
E.Run Exponential Calculator
Q.Exit/Quit
""")
ans=raw_input("What would you like to do? ").upper()
if ans=="U":
print fullname()
elif ans=="E":
print print_exponential()
elif ans=="Q":
print("\n Goodbye")
break
elif ans !="":
print("\n Error: Choice must be U, E or Q")