令人费解的是,我可以在第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'
编辑:如果我听起来无知,忘记提及,我是编程新手
答案 0 :(得分:5)
字符串支持+
和+=
运算符,因为对于一对字符串,可以将加法解释为连接。它们不支持-
或-=
,因为没有有意义的字符串操作来将减法转换为。
如果您使用数字类型,通常会支持这两种运算符。
字符串还支持其他一些运算符:您可以将一个字符串乘以一个整数,以便多次重复它。您可以使用%
运算符执行较旧的printf
样式的字符串格式化(右侧有一个非元组参数,或多个参数的元组)。