这是让我烦恼的练习:
实施将足球运动员名单分成两组的功能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)
我知道我在定义这些字母时出错了,但是我打算空白,特别是因为我的教授建议我使用字典比较。有没有办法使用比较来分割名称?
谢谢!
答案 0 :(得分:2)
name[0] in 'ABCDEFGHIJKLM'
会告诉您角色是否出现在字符串中。
name[0] == 'ABCDEFGHIJKLM'
将单个字母与整个字符串进行比较。
答案 1 :(得分:0)
您可以导入string
并使用预定义的大写ASCII字符集,而不必自己完成:
import string
letters_a_to_m = string.ascii_uppercase[:13]
#'ABCDEFGHIJKLM'
if name[0] in letters_a_to_m:
print(name)