我正在编写一个使用 PyFiglet 字体打印命令行参数的程序。这是 CS50P 第 4 周的第一个练习。 “if”代码用于当您想要指定字体时,应该通过传递“-f/--font”作为第一个命令行参数来触发它。该代码按预期工作。 如果未编写“-f/--font”,则应执行“else”代码,为您提供默认 PyFiglet 字体在命令行中输入的任何内容。 问题是,如果我输入不包含“-f/--font”的任何内容,“else”代码不会被触发,而是给出一个错误,指出它找不到字体,参考行6.
from pyfiglet import Figlet
import sys
if '-f' or '--font' in sys.argv[1]:
fig = Figlet(font=sys.argv[2])
for arg in sys.argv[3:]:
print(fig.renderText(arg))
# okay the "else" code doesn't even get executed when I type anything that doesn't include -f or --font, I get an error that says it can't find the font in line 6
else:
fig = Figlet()
for arg in sys.argv[1:]:
print(fig.renderText(arg))
我尝试过的是静音“if”代码(在上面使用#,这样就不会被读取)。单独执行“else”代码会得到所需的结果。如何使“else”代码与“if”代码一起执行?
我认为传递给 cna 的参数是 None,因为 None 已被传递,所以尝试一下