大家好,据我所知,可能已经有人问过一些类似的问题,但如果您能为我尝试的问题提供更具体的解决方案,我将不胜感激。
基本上程序应该返回列表中最短的单词。最短的单词不能为空字符串。 <-- 我也不确定该怎么做。
感谢您的帮助! :)
主程序:
n = int((input("Enter amount of words: "))
sw = st.word(n)
print("The shortest word is: {0:.s}" .format(sw))
功能:
def word(n):
l1 = []
for i in range(n):
words = str(input("Enter word: "))
l1.append(words)
s = l1
nxt = l1
for i in range(n+1):
if s[i] < nxt[i+1]:
smallest = s[i]
if nxt[i+1] < s[i]:
smallest = nxt[i+1]
return smallest
请您参考如下方法:
您可以只使用内置 min功能:
l = ["ab", "abc", "", "fff", "gdfgfdg","a", "3455"]
print(min((word for word in l if word), key=len))
# results in: a
一些解释:
(l if word 中的单词)是 generator expression ,if word条件确保不使用空字符串,key=len使用每个单词的长度来寻找最小值
