对于长度小于 min_length 的任何名称,将列表中的该项替换为包含原始名称的新字符串,并在右侧添加空格以实现最小长度
示例: min_length = 5 // / 'dog' 更改后 = 'dog'
并且还返回列表中最初超过 min_length 的名称数量
def pad_names(list_of_names, min_length):
'''(list of str, int) -> int
Return the number of names that are longer than the minimum length.
>>> pad_names(list_of_names, 5)
2
'''
new_list = []
counter = 0
for word in list_of_names:
if len(word) > min_length:
counter = counter + 1
for word in list_of_names:
if len(word) < min_length:
new_list.append(word.ljust(min_length))
else:
new_list.append(word)
return(counter)
我目前在此功能上遇到 5 个错误:
所有错误都是#incorrect返回值
test_02: pad_names_one_name_much_padding_changes_list
原因:对于需要填充的 1 个名称的情况,列表未正确更改
test_04: pad_names_one_name_needs_one_pad_changes_list
原因:一个名字需要一个pad更改列表
test_10: pad_names_all_padded_by_3_changes_list
原因:全部由 3 个更改列表填充
test_12:pad_names_all_padded_different_amounts_changes_list
原因:所有填充的不同数量的变化列表
test_20: pad_names_one_empty_name_list_changed
原因:一个空的名字列表改变了
此功能不需要高效,只需要通过这些测试而不会产生更多问题