0

这是困扰我的练习:

实现partition()将足球运动员列表分成两组的功能。更准确地说,它将名字(字符串)列表作为输入,并打印名字以 A 和 M 之间的字母开头的足球运动员的名字。

>>>partition([''Eleanor'', ''Evelyn'', ''Sammy'', ''Owen'', ''Gavin''])
Eleanor
Evelyn
Gavin
>>>partition([''Xena'', ''Sammy'', ''Gavin''])
>>>

这是我的尝试:

def partition():
    names=[''Eleanor'', ''Evenlyn'', ''Sammy'', ''Owen'', ''Gavin'']
    for name in names:
        if name[0]==''ABCDEFGHIJKLM'':
            print (name)

我知道我在定义字母时出错了,但我打了个空白,特别是因为我的教授建议我使用字典比较。有没有办法使用比较来拆分名称?

谢谢!

4

2 回答 2

2
name[0] in 'ABCDEFGHIJKLM'

会告诉你一个字符是否出现在字符串中。

name[0] == 'ABCDEFGHIJKLM'

将单个字母与整个字符串进行比较。

于 2013-09-24T22:33:30.150 回答
0

您可以导入string和使用预定义的大写 ASCII 字符集,而不必自己动手:

import string
letters_a_to_m = string.ascii_uppercase[:13]
#'ABCDEFGHIJKLM'

if name[0] in letters_a_to_m:
    print(name)
于 2013-09-24T22:38:17.903 回答