我正试图解决这个问题:https://cs50.harvard.edu/python/2022/psets/4/figlet/
然而,每次我运行它时,都会弹出一个TypeError,上面写着"'list‘对象是不可调用的“。有人知道怎么解决这个问题吗?
from pyfiglet import Figlet
import sys
import random
figlet = Figlet()
if len(sys.argv) == 1:
randomness = True
elif len(sys.argv) == 3 and (sys.argv([1] == "-f" or sys.argv([1]) == "--font")):
randomness = False
else:
sys.exit("Invalid Usage")
msg = input("Input:")
random_font = random.choice(figlet.getFonts())
if randomness == True:
figlet.setFont(font=random_font)
print(figlet.renderText(msg))
elif randomness == False:
figlet.setFont(font=sys.argv([2]))
print(figlet.renderText(msg))发布于 2022-08-01 16:13:14
根据您的注释,错误出现在elif语句中,主要是以下部分:
(sys.argv([1] == "-f" or sys.argv([1]) == "--font"))
sys.argv是一个列表,但是您使用列表参数调用它。与其调用它为sys.argv([1]),不如直接使用它,sys.argv[1]。
去掉括号将使之:
elif len(sys.argv) == 3 and (sys.argv[1] == "-f" or sys.argv[1] == "--font"):https://stackoverflow.com/questions/73050187
复制相似问题