ZyBooks交换值实验单元测试失败求助:无输出问题排查
解决ZyBooks交换值实验单元测试无输出问题
你的问题核心在于:ZyBooks的单元测试是检查函数的返回值,而非捕获控制台打印的内容。你当前的swap_values函数仅直接打印结果,但没有返回任何数据,导致单元测试调用函数后无法获取预期的验证结果,因此提示“Your test produced no output”。
修改后的代码
''' Define your function here. ''' def swap_values(user_val1, user_val2): return user_val2, user_val1 if __name__ == '__main__': ''' Type your code here. Your code must call the function. ''' user_val1 = int(input()) user_val2 = int(input()) # 调用函数获取交换后的值,再执行打印 swapped_val1, swapped_val2 = swap_values(user_val1, user_val2) print(swapped_val1, swapped_val2)
修改说明
- 将函数内的
print(user_val2, user_val1)替换为return user_val2, user_val1,让函数返回交换后的两个值,单元测试可以直接捕获这个返回结果进行验证。 - 主程序部分先调用函数获取返回值,再执行打印操作,既满足手动输入时的输出要求,也能让单元测试拿到函数的返回数据。
这样修改后,单元测试调用swap_values(-1, 10)、swap_values(9, 0)、swap_values(11, 11)时,都会得到对应的返回值,就能通过测试了。
内容的提问来源于stack exchange,提问作者The Trickster
相关产品推荐
相关产品推荐

