首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哈佛CS50P PSET 4: TypeError:'list‘对象不可调用

哈佛CS50P PSET 4: TypeError:'list‘对象不可调用
EN

Stack Overflow用户
提问于 2022-07-20 10:41:21
回答 1查看 68关注 0票数 1

我正试图解决这个问题:https://cs50.harvard.edu/python/2022/psets/4/figlet/

然而,每次我运行它时,都会弹出一个TypeError,上面写着"'list‘对象是不可调用的“。有人知道怎么解决这个问题吗?

代码语言:javascript
复制
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))
EN

回答 1

Stack Overflow用户

发布于 2022-08-01 16:13:14

根据您的注释,错误出现在elif语句中,主要是以下部分:

(sys.argv([1] == "-f" or sys.argv([1]) == "--font"))

sys.argv是一个列表,但是您使用列表参数调用它。与其调用它为sys.argv([1]),不如直接使用它,sys.argv[1]

去掉括号将使之:

代码语言:javascript
复制
elif len(sys.argv) == 3 and (sys.argv[1] == "-f" or sys.argv[1] == "--font"):
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73050187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档