【发布时间】:2020-06-08 13:23:46
【问题描述】:
我的任务是:
编写一个函数starts_with(word, chs),它返回字符串单词是否以列表chs中的一个字符开头。
如果 word 为空字符串,则返回False。
如果chs 是一个空列表,则返回False。
我通过了 6/7 个测试用例,除了一个显示断言错误的测试用例,但是,我不知道每个测试用例中使用了什么输入,所以我无法找出问题所在。可能是什么问题?
def starts_with(word, chs):
x = 0
if (len(chs)== 0) or (word == ""):
return (False)
while x < len(chs):
s = word[0]
if s == chs[x]: {
}
x += 1
return (True)
word = ()
chs = ()
【问题讨论】:
-
第二个 if 语句后面的大括号是什么?
-
while循环内的整个部分很不稳定。 Python 不像其他语言那样使用{}来指示范围,而且if内也没有任何内容。只要第一次检查是 False ,这看起来无论如何都会返回 True -
另请注意:最后两个作业 word = ... 和 chs = ... 毫无意义。
标签: python python-3.x function