gpt4 book ai didi

python - 返回超过最小长度的单词数,并用单词 + 空格替换不是的单词

转载 作者:行者123 更新时间:2023-11-28 20:45:22 26 4
gpt4 key购买 nike

对于长度小于 min_length 的任何名称,将列表中的该项替换为包含原始名称的新字符串,并在右侧添加空格以达到最小长度
example: min_length = 5///'dog' after the change = '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 return value

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
Cause: all padded different amounts changes 列表

test_20:pad_names_one_empty_name_list_changed
原因:一个空的名单被改变了

这个功能不需要高效,只需要通过那些测试而不产生更多问题

最佳答案

根据您的编写方式,我猜您想修改名称列表以便检查结果(以及返回计数)...

def test(names, minlen):
counter = 0
for idx, name in enumerate(names):
newname = name.ljust(minlen)
if newname != name:
names[idx] = newname
else:
counter += 1
return counter

关于python - 返回超过最小长度的单词数,并用单词 + 空格替换不是的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13266493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com