【问题标题】:How do I delete the last space in the final output?如何删除最终输出中的最后一个空格?
【发布时间】:2021-02-08 13:53:09
【问题描述】:
a = input().split()

for i in a:
    c = int(i)
    if c > 0:        
        b = c - 4
        d = b % 10
        if d != 0:
            print(i, "",  end='')
    else:
        e = c + 4
        f = e % 10
        if f != 0:
            print(i, "", end='')

这是整个代码

预期的最终输出应该是整数,中间有空格,但末尾没有空格

通过添加"",我在元素之间添加了空格。

那么,如何删除最后一个元素之后的空格。

【问题讨论】:

标签: python python-3.x


【解决方案1】:

我建议您将所有要打印的值存储在一个列表中(所以不要打印,而是将它们附加到一个列表中)并在最后

print(*list)

这将打印每个元素之间有一个空格。

【讨论】:

    【解决方案2】:

    您可以将结果附加到列表中,然后打印该列表。

    results = []
    for i in a:
        c = int(i) 
        if c > 0:           
            b = c - 4    
            d = b % 10     
            if d != 0:        
                results.append(i)
        else:   
            e = c + 4
            f = e % 10
            if f != 0:
                results.append(i)
    
    print(*results)
    

    【讨论】:

      【解决方案3】:

      或者,如果您不想创建列表,则可以计算元素,并使用 if else 语句来确定它是否是最后一个元素。

      a = input().split()
      
      for counter, i in enumerate(a):
          c = int(i)
          if c > 0:        
              b = c - 4
              d = b % 10
              if d != 0:
                  if counter < len(a) - 1:
                      print(i, "",  end='')
                  else:
                      print(i, end='')
          else:
              e = c + 4
              f = e % 10
              if f != 0:
                  if counter < len(a) - 1:
                      print(i, "", end='')
                  else:
                      print(i, end='')
      

      【讨论】:

      • 使用条件表达式更简单:print(i, end=' ' if counter &lt; len(a)-1 else '')
      猜你喜欢
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 2021-06-03
      • 2015-07-04
      相关资源
      最近更新 更多