我正在尝试将字符串文字连接到字符串变量,然后将此值重新分配给同一变量。
我已经尝试过+=
运算符和类似
string = string + "another string"
但这不起作用。
这是我的代码。
userWord = input("Enter a word: ").upper()
# Prompt the user to enter a word and assign it to the userWord variable
for letter in userWord:
# Loops through userWord and concatenates consonants to wordWithoutVowels and skips vowels
if letter == "A" or letter == "E" or letter == "I" or letter == "O" or letter == "U":
continue
wordWithoutVowels += userWord # NameError: name "wordWithoutVowels" is not defined
print(wordWithoutVowels)
答案 0 :(得分:2)
首先,我认为您打算执行wordWithoutVowels += letter
,而不是整个userWord
。其次,该表达式与wordWithoutVowels = wordWithoutVowels + userWord
相同,这意味着wordWithoutVowels
必须先定义。
只需在for
循环之前添加以下内容
wordWithoutVowels = ''
编辑:
如@DeveshKumarSingh所述,您可以通过使用以下if
条件而不是使用continue
if letter not in ['A','E','I','O','U']:
wordWithoutVowels += letter
答案 1 :(得分:2)
您的代码存在一些问题
您没有在for循环之前初始化wordWithoutVowels
。您需要使用wordWithoutVowels = ''
您可以使用in
运算符检查字母是否在元音中不存在,然后仅更新结果字符串
更新后的代码将是
userWord = input("Enter a word: ").upper()
#Initialize wordWithoutVowels
wordWithoutVowels = ''
for letter in userWord:
#If letter does not fall in vowels, append that letter
if letter not in ['A','E','I','O','U']:
wordWithoutVowels += letter
print(wordWithoutVowels)
输出将为
Enter a word: hello world
HLL WRLD