我运行了代码,得到了错误'str' object is not callable
import random, string
def generator():
letter1 = random.choice(string.ascii_lowercase)
letter2 = random.choice(string.ascii_lowercase)
letter3 = random.choice(string.ascii_lowercase)
letter4 = random.choice(string.ascii_lowercase)
letter5 = random.choice(string.ascii_lowercase)
letter_input_1 = input('choose a letter..."v"for vowels, "c" for consonants, "l" for any other letter, or pick any letter:')
letter_input_2 = input('choose a letter..."v"for vowels, "c" for consonants, "l" for any other letter, or pick any letter:')
letter_input_3 = input('choose a letter..."v"for vowels, "c" for consonants, "l" for any other letter, or pick any letter:')
letter_input_4 = input('choose a letter..."v"for vowels, "c" for consonants, "l" for any other letter, or pick any letter:')
letter_input_5 = input('choose a letter..."v"for vowels, "c" for consonants, "l" for any other letter, or pick any letter:')
vowels = 'aeiouy'
consonants = 'bcdfghjklmnpqrstvwxz'
letter = string.ascii_lowercase
def generator():
if letter_input_1 == "v":
letter1 = random.choice(vowels)
elif letter_input_1 == "c":
letter1 = random.choice(consonants)
elif letter_input_1 == "l":
letter1 = random.choice(letter)
else:
letter1 = letter_input_1 #allowing user to select a specific letter
if letter_input_2 == "v":
letter2 = random.choice(vowels)
elif letter_input_2 == "c":
letter2 = random.choice(consonants)
elif letter_input_2 == "l":
letter2 = random.choice(letter)
else:
letter2 = letter_input_2 #allowing user to select a specific letter
if letter_input_3 == "v":
letter3 = random.choice(vowels)
elif letter_input_3 == "c":
letter3 = random.choice(consonants)
elif letter_input_3 == "l":
letter3 = random.choice(letter)
else:
letter3 = letter_input_3 #allowing user to select a specific letter
if letter_input_4 == "v":
letter4 = random.choice(vowels)
elif letter_input_4 == "c":
letter4 = random.choice(consonants)
elif letter_input_4 == "l":
letter4 = random.choice(letter)
else:
letter4 = letter_input_4 #allowing user to select a specific letter
if letter_input_5 == "v":
letter5 = random.choice(vowels)
elif letter_input_5 == "c":
letter5 = random.choice(consonants)
elif letter_input_5 == "l":
letter5 = random.choice(letter)
else:
letter5 = letter_input_5 #allowing user to select a specific letter
name = 'letter1+letter2+letter3+letter4+letter5'
'return'(name )
for babynames in range(20):
print(generator())
它应该根据我输入的变量给出随机字母,但我得到的却是错误
File "C:\Users\17348\Desktop\py4e\babynames4.py", line 69, in <module>
'return'(name )
TypeError: 'str' object is not callable
代码的问题是缩进是错误的,当它们不应该是字符串时,它们就是字符串。你知道吗
尤其是这一行:
通过正确地缩进它们并将字符串转换为语句,您可以得到以下代码,这些代码似乎可以执行您想要的操作:
这是一个简明的版本,初学者仍然很容易阅读:
相关问题 更多 >
编程相关推荐