每行打印一个单词的程序

时间:2016-08-25 03:18:59

标签: python

需要创建一个程序,每行打印一个单词,但仅限于该单词小于4个字符。到目前为止我有这个

输入将是一个列表,例如[' Not',' very',' good',' at'',&# 39;蟒']

string = input("Enter word list:")

txt = string.split()

for words in txt:

     print(words)

当输入是一个列表时,它会将其打印在一行中,但如果输入只是文本,例如

输入单词列表:python不太好

然后它会在自己的单行上打印每个单词。

不确定如何实现仅4个字符的打印并且不确定如何让列表在其自己的行上打印其元素

4 个答案:

答案 0 :(得分:1)

好吧,检查单词的长度。

string = input('Enter word list:\n')
txt = string.split()

for word in txt:
    if len(word) < 4:
        print('{0}'.format(word))
    else:
        continue

答案 1 :(得分:0)

使用内置函数len()计算每个单词的长度。我还包括一个简单的解析if语句来检测你的输入是否是一个列表。

string = raw_input('Enter word list: ')

if string[0] == "[" and string[-1] == "]": # simple method to parse
    print(string)
else:
    txt = string.split()

    for words in txt:
       if len(words) <= 4:
           print(words)

答案 2 :(得分:0)

当您输入[&#39; Not&#39;,&#39; very&#39;,&#39; good&#39;,&#39; at&#39;,&#39; python&#39 ;],有','。但是当你输入&#34;不太擅长python&#34;时,没有&#39;,&#39;。

答案 3 :(得分:0)

您提供的输入是字面上的['不','非常','好','在','python']? 如果这样那就是你的问题。输入被视为文字字符串,而不是列表。在该输入上调用split将生成输入“list”的单个项目列表,因为该字符串中没有要分割的空格。 我在你的代码中也没有看到任何决定打印字长的代码,但也许只是省略了。