【问题标题】:How do I remove the whitespace from the first iteration of my for loop?如何从我的 for 循环的第一次迭代中删除空格?
【发布时间】:2021-07-26 05:54:44
【问题描述】:

代码:

triangle_char = input('Enter a character:\n')
triangle_height = int(input('Enter triangle height:\n'))
print('')

for i in range(triangle_height):
    updatedChar = ' '.join([triangle_char]*i) 
    print(triangle_char + ' ' + updatedChar + ' ')
    i += 1

输出是正确的,但在第一次迭代结束时我似乎无法摆脱额外的“”空格。

Example Output:

% # How to remove this whitespace but keep the others
% %
% % %

【问题讨论】:

  • 你能解释一下你的预期输出是什么样的
  • 旁注:i +=1 对我来说似乎很臭,你已经在循环使用 for 循环,i 将自动更新。

标签: python for-loop whitespace


【解决方案1】:

updatedChar 乘以i + 1 并打印它而不再次附加符号。也可以去掉i += 1,没有效果

for i in range(triangle_height):
    updated_char = ' '.join(triangle_char * (i + 1))
    print(updated_char)

输出

%
% %
% % %

【讨论】:

  • 现在这完全跳过了第一次迭代,我仍然想打印三角形中的第一个字符。
  • @svnrod 打印出来了,你试过吗?
  • 那是我的错,我没有更新一些东西,但现在它已经完全修复了。我现在知道哪里出错了,感谢您的帮助!
【解决方案2】:

strip() 应该做你想做的事

triangle_char = input('Enter a character:\n')
triangle_height = int(input('Enter triangle height:\n'))
print('')
for i in range(triangle_height+1):
    updatedChar = ' '.join([triangle_char]*i)
    print((triangle_char + ' ' + updatedChar + ' ').strip())
    i += 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-28
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2015-12-31
    相关资源
    最近更新 更多