【发布时间】:2012-10-05 18:03:42
【问题描述】:
这个问题与我的教育有关,我希望你能提供尽可能详细的帮助——我不想复制粘贴代码并交出来。:)
任务很简单 - 创建一个名为 writeshort(txt) 的定义,获取一串单词,只打印少于五个字符的单词。现在我已经完成了这个,但问题是该任务专门使用了一个定义。我在这里失败了。
没有定义的代码,有效:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
string = raw_input(”Write a few lines: ”)
txt = string.split()
result = []
for words in txt:
if len(words) > 4:
continue
result.append(words)
print ', '.join(result), ”have less than five letters!”
现在看起来不错,打印时没有任何讨厌的 [' ']。但是定义呢? 我尝试了几件事,这是最新的,但它只打印少于五个字母的第一个单词,而忽略其余的:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
string = raw_input(”Write a few lines: ”)
txt = string.split()
def writeshort(txt):
for txt in txt:
if len(txt) > 4: #Yes I know its a 4, but since it counts 0...
continue
return txt
print writeshort(txt), "have fewer letters than five!"
感谢您的帮助。感谢您花时间帮助我学习 Python!
【问题讨论】:
-
for txt in txt???并且 len() 从 1 开始计数,而不是 0
-
但是如果我写一个 5,它会因为某种原因计算五个字母长的单词。
-
感谢大家的帮助!我让它工作了! :)
标签: python split definition