所以我的任务是为给定代码中的两个函数编写一个测试函数。我不明白通过/失败语句的概念,我需要一些指导。我将发布以下代码。我不是要求答案,因为这是hw。我需要解释逻辑。
#######################################################################
## problem 1 of 2.
#######################################################################
# There is a problem with the is_reverse_of function below.
# Assignment 1:
# 1.1. Develop a suite of tests to properly test the function.
# 1.2. Debug this faulty function to locate and correct the problem.
def is_reverse_of( st1, st2 ):
"""
is_reverse_of : String String -> Boolean
is_reverse_of tells if one string is the reverse of another.
preconditions: st1 and st2 are character strings.
"""
if len( st1 ) != len( st2 ):
return False
i = 0
j = len( st2 )
while j > 0:
if st1[i] != st2[j]:
return False
i += 1
j -= 1
return True
def test_is_reverse_of():
"""
a suite of pass/fail test cases to validate that is_reverse_of works.
"""
# Complete this test function.
pass
if __name__ == "__main__":
test_is_reverse_of()
答案 0 :(得分:0)
您可能误解了pass
关键字在那里做的事情。 pass
是一个Python关键字,基本上等于一个空行。当你有一段你希望在调用时“传递”的代码时使用它。 pass
现在只在代码中,因此可以解释它而不会出错。
这个任务在这个级别要求的是我认为只是一个'测试用例'列表。
想一想reverse_string函数可能会失败的几种方法。如果长度为0怎么办?如果长度很大怎么办?如果它有数字怎么办?如果混合案件怎么办?如果你不输入字符串怎么办?如果字符串完全相同怎么办?如果琴弦的长度不一样怎么办?等等。
所以你最终得到的代码如下:
if (is_reverse_of("food","doof") != True):
print("Func is wrong!")