我有以下几段代码:
name = "Axe"
vowels = ["a","e","i","o","u"]
if %s.startswith(vowels) % (name): #name will be input from users
print "sth"
else:
....
在这里,我尝试使用带有字符串格式化运算符的startswith函数,但它没有用。我也试过{}格式,但它仍然给我一个语法错误。 我做错了什么或者这不可能吗? 提前谢谢。
答案 0 :(得分:0)
您的代码中有一点不清楚您的意思,但这样做有效:
>>> ("%s" % 'hi').startswith('h')
True
所以我认为问题是你必须首先格式化你的字符串,然后做.startswith()
。另外,我不认为startswith
接受数组作为参数,所以你必须做类似的事情
if True in map(lambda x: ("%s" % name).startswith(x), vowels):
# do something
此外,如果你想忽略你会做的事情:
if True in map(lambda x: ("%s" % name).lower().startswith(x), vowels):
# do something
希望这有帮助!