Python -= 从字符串中去掉空格
我正在尝试在一个循环里从字符串中去掉空格。我已经搞定了添加空格的部分,但去掉空格却不行。
这是我的代码:
letterHeight = 10
def nLetter():
x = 0
diagonal = ""
vertical = " "
while x < letterHeight:
print "*"+diagonal+"*"+vertical+"*"
diagonal += " "
vertical -= " "
x += 1
nLetter()
错误信息:TypeError: unsupported operand type(s) for -=: 'str' and 'str'
3 个回答
1
你不能用 -=
这个符号来处理字符串。如果你想从一个字符串中去掉最后一个字符(不一定是空格),可以试试下面的方法:
vertical = vertical[:-1]
2
另外,你可以试试字符串格式化来实现这个功能!
letterHeight = 10
def nLetter():
diagonal = 1
vertical = 10
for _ in range(letterHeight):
print("*{2:>{0}}{2:>{1}}".format(diagonal, vertical, "*"))
diagonal += 1
vertical -= 1
nLetter()
或者稍微好一点的方法:
def nLetter():
for mod in range(letterHeight):
print("*{2:>{0}}{2:>{1}}".format(1+mod, 10-mod, "*"))
5
字符串不支持减法;你想去掉哪个空格呢?可以用切片来解决这个问题:
vertical = vertical[:-1]
这样做会通过从所有字符中去掉最后一个字符,来创建一个新的字符串:
>>> "abcd"[:-1]
'abc'