为什么每当我使用" - ="时,python都会给出错误信息。取代" + ="?

时间:2018-04-05 22:53:35

标签: python python-3.x

令人费解的是,我可以在第12行使用+=运算符代替-=而没有问题。

程序:

message = input("Enter a Message: ")

new_message = ""

VOWELS = "aeiou"
print()
for letter in message:
    if letter.lower() not in VOWELS:
        new_message -= letter



print("A new string has been created:", new_message)
print("Your message without vowels is:", new_message)

input("\n\nPress the enter key to exit.")

错误讯息:

Traceback (most recent call last):
  File "C:\Python31\no vowels (from book).py", line 12, in <module>
    new_message -= letter
TypeError: unsupported operand type(s) for -=: 'str' and 'str'

编辑:如果我听起来无知,忘记提及,我是编程新手

1 个答案:

答案 0 :(得分:5)

字符串支持++=运算符,因为对于一对字符串,可以将加法解释为连接。它们不支持--=,因为没有有意义的字符串操作来将减法转换为。

如果您使用数字类型,通常会支持这两种运算符。

字符串还支持其他一些运算符:您可以将一个字符串乘以一个整数,以便多次重复它。您可以使用%运算符执行较旧的printf样式的字符串格式化(右侧有一个非元组参数,或多个参数的元组)。