我知道这个问题听起来有点棘手或不太清楚,但我需要一个程序,它会分隔名称。由于我不是来自英语国家,我们的名字要么以 s(男性)或 e和a(女生)
结尾如何通过最后一个字母使Python单独出现? 我想这可以解释更多。
就像有三个名字:"Jonas", "Giedre", "Anastasija".
我需要程序打印出这样的
MALE: Jonas
FEMALE: Anastasija, Giedre
我启动了这个程序,到目前为止,我有这个:
mname = []
fname = []
name = input("Enter a name: ")
我真的可以理解。因为我不熟悉如何使用最后一个字母来处理if
函数。
答案 0 :(得分:3)
您可以使用负索引来访问字符串的最后一个元素
name = input("Enter a name: ")
if name[-1] in ('a','e'):
fname.append(name)
elif name[-1] == 's':
mname.append(name)
如您所见,-1
是字符串的最后一个字符。
指数也可能是负数,从数字开始计算 右:
>>> word[-1] # last character 'n'
答案 1 :(得分:0)
如果您一次输入名称,则需要通过空白检查结果来拆分它们:
names = input('Enter names: ') # string of names to split by spaces
fname = [n for n in names.split() if n[-1] in ('a', 'e')] # females
mname = [n for n in names.split() if n[-1] == 's'] # now male names