如何在python中删除输出末尾的空格?

时间:2017-06-13 10:57:41

标签: python python-2.7 python-3.x

我有一个程序可以计算和打印包含特定字符的句子中的所有单词(忽略大小写)。

Python中的代码 -

item=input()
ip=input().tolower()
r=ip.count(item)
print(r)
ip=ip.split()
for word in ip:
    if item in word:
        print((word), end=' ')

这个程序按预期工作,但是对于打印的最后一个单词,我不希望它后面有空格。 enter image description here

如果有人可以指导我如何移除空间,我们将不胜感激。

4 个答案:

答案 0 :(得分:1)

为什么不使用list comprehensionstr.join

print(' '.join([w for w in ip if item in w]))

答案 1 :(得分:0)

我认为没有办法删除它,因为它是终端的一部分。我能给你的最佳答案。

我扩展了代码,因为我有点无聊。

sentence = input("Enter a sentence: ").lower()
pull = input("Which character(s) do you want to count?: ").lower()
for c in pull:
    occurrences = 0
    for character in sentence:
        if c == character:
            occurrences+=1
    if c!=" ": print("\'%s\' appears %d times"%(c, occurrences))
    for word in sentence.split():
        occurrences = 0
        for character in word:
            if c == character:
                occurrences+=1
        if occurrences == 1:
            print(("1 time in \'%s\'")%(word))
        elif occurrences > 0:
            print(("%d times in \'%s\'")%(occurrences,word))

答案 2 :(得分:0)

您已关闭,只需将您的打印声明从print((word), end=' ')更改为print((word), end='')即可。你的print语句有一个空格,但你不想要空白,所以最后是一个空字符串。

答案 3 :(得分:0)

+具有列表推导的解决方案显得更简洁,但如果您更喜欢替代方案,则可以使用以下方法。它已经过测试并使用了图片中的示例。

# Amended solution. The commented lines are the amendment.
item = input('Letter: ')
ip = input('Input: ').lower()
r = ip.count(item)
print(r)
ip = ip.split()
outputString = '' # Added: Initialise an empty string to keep the answer
for word in ip:
    if item in word:
        outputString += word + ' '  # Changed: Accumulates the answer in a string
print(outputString[:-1])  # Added: Prints all the string's characters
                          # except the last one, which is the additional space