如何在 python 上打印列表?
how do I print a list on python?
我在 python 中打印列表时遇到问题,因为每当我发出显示列表的命令时,它都不会显示该列表。这是整个函数参考列表的代码:
#FUNCTIONS
def help():
print("list of commands\n"
+ "help = Display of commands\n"
+ "list = list of all the Latin I vocabulary\n"
+ "Quit = exits the main program to the exit credits and then exits the app\n")
def userInstructions(userInput):
if (userInput == "help" or "Help"):
help()
elif(userInput == "list" or "List"):
list()
return input("\nEnter your responce: ")
def list():
a = ["salve" , "vale" , "et" , "est" , "in" , "sunt" , "non" , "insula" , "sed" , "oppidum"
, "quoque" , "canis" , "coquus" , "filia" , "filius" , "hortus" , "mater" , "pater" , "servus" , "via" , "amicus" , "ancilla" , "cena" , "cibus"
, "intro" , "saluto" , "porto" , "video" , "dominus" , "laetus" , "mercator" , "audio" , "dico" , "unus" , "duo" , "tres" , "quattuor" , "quinque"
, "sex" , "septem" , "octo" , "novem" , "decem" , "ad" , "ecce" , "magnus" , "parvus" , "ambulo" , "iratus" , "quis" , "quid" , "cur" , "ubi" ,
"sum" , "es" , "eheu" , "pecunia" , "ego" , "tu" , "habeo" , "respondeo" , "venio" , "rideo" , "quod" , "ex" , "voco" , "clamo" , "specto" , "taberna"
, "laboro" , "clamor" , "femina" , "vir", "puer" , "puella" , "multus" , "urbs" , "agricola" , "curro" , "hodie" , "iuvenis" , "meus" , "senex" , "sto" ,
"optimus" , "volo" , "fortis" , "emo" , "pulso" , "bonus" , "malus" , "festino" , "per" , "pugno" , "scribo" , "tuus" , "erat" , "paro" , "cum" , "facio" ,
"heri" , "ingens" , "nihil" , "omnis" , "vendo" , "navis" , "prope" , "rogo" , "terreo" , "inquit" , "tamen" , "eum" , "eam" , "duco" , "saepe" , "interficio" ,
"habito" , "silva" , "statim" , "totus" , "pessimus"]
print("List:")
print('\n'.join(map(str, a)))
下图显示了当我命令代码打印列表时的结果,它不是打印列表而是打印帮助面板:
我的代码有什么问题,我该如何解决?
userInput == "help" or "Help"
被 Python 解释为 (userInput == "help") or "Help"
,这将始终为真。而是尝试:
userInput == "help" or userInput == "Help"
或
userInput in ["help","Help"]
或
userInput.lower() == "help"
(userInput == "list" or "List"
也是如此)。
此外,我不建议将您的函数命名为 list()
,它会与内置的 python 函数冲突。
罪魁祸首是:
if (userInput == "help" or "Help"):
你需要:
if userInput in ('help', 'Help'):
或:
if userInput == 'help' or userInput == 'Help':
“==”的优先级大于 'or',因此您的 'if' 被视为:
if (userInput == 'help') or ('Help'):
因为 'Help' 在逻辑上等同于 'True',您永远无法通过第一个 if
检查。
当你想不区分大小写时,在检查之前转换为全部大写或小写即可。所以你也可以说:
if userInput.lower() == 'help':
有很多不同的方法可以做到这一点。有些人认为某些方法比其他方法好得多。但诀窍是让它发挥作用。
此外,作为旁注,您可以只说 '\n'.join(a)
而没有 map
和 str
,因为看起来您列表中的所有条目都已经是字符串。如果您可能还有其他内容,那么 map
和 str
会很有帮助。
我在 python 中打印列表时遇到问题,因为每当我发出显示列表的命令时,它都不会显示该列表。这是整个函数参考列表的代码:
#FUNCTIONS
def help():
print("list of commands\n"
+ "help = Display of commands\n"
+ "list = list of all the Latin I vocabulary\n"
+ "Quit = exits the main program to the exit credits and then exits the app\n")
def userInstructions(userInput):
if (userInput == "help" or "Help"):
help()
elif(userInput == "list" or "List"):
list()
return input("\nEnter your responce: ")
def list():
a = ["salve" , "vale" , "et" , "est" , "in" , "sunt" , "non" , "insula" , "sed" , "oppidum"
, "quoque" , "canis" , "coquus" , "filia" , "filius" , "hortus" , "mater" , "pater" , "servus" , "via" , "amicus" , "ancilla" , "cena" , "cibus"
, "intro" , "saluto" , "porto" , "video" , "dominus" , "laetus" , "mercator" , "audio" , "dico" , "unus" , "duo" , "tres" , "quattuor" , "quinque"
, "sex" , "septem" , "octo" , "novem" , "decem" , "ad" , "ecce" , "magnus" , "parvus" , "ambulo" , "iratus" , "quis" , "quid" , "cur" , "ubi" ,
"sum" , "es" , "eheu" , "pecunia" , "ego" , "tu" , "habeo" , "respondeo" , "venio" , "rideo" , "quod" , "ex" , "voco" , "clamo" , "specto" , "taberna"
, "laboro" , "clamor" , "femina" , "vir", "puer" , "puella" , "multus" , "urbs" , "agricola" , "curro" , "hodie" , "iuvenis" , "meus" , "senex" , "sto" ,
"optimus" , "volo" , "fortis" , "emo" , "pulso" , "bonus" , "malus" , "festino" , "per" , "pugno" , "scribo" , "tuus" , "erat" , "paro" , "cum" , "facio" ,
"heri" , "ingens" , "nihil" , "omnis" , "vendo" , "navis" , "prope" , "rogo" , "terreo" , "inquit" , "tamen" , "eum" , "eam" , "duco" , "saepe" , "interficio" ,
"habito" , "silva" , "statim" , "totus" , "pessimus"]
print("List:")
print('\n'.join(map(str, a)))
下图显示了当我命令代码打印列表时的结果,它不是打印列表而是打印帮助面板:
我的代码有什么问题,我该如何解决?
userInput == "help" or "Help"
被 Python 解释为 (userInput == "help") or "Help"
,这将始终为真。而是尝试:
userInput == "help" or userInput == "Help"
或
userInput in ["help","Help"]
或
userInput.lower() == "help"
(userInput == "list" or "List"
也是如此)。
此外,我不建议将您的函数命名为 list()
,它会与内置的 python 函数冲突。
罪魁祸首是:
if (userInput == "help" or "Help"):
你需要:
if userInput in ('help', 'Help'):
或:
if userInput == 'help' or userInput == 'Help':
“==”的优先级大于 'or',因此您的 'if' 被视为:
if (userInput == 'help') or ('Help'):
因为 'Help' 在逻辑上等同于 'True',您永远无法通过第一个 if
检查。
当你想不区分大小写时,在检查之前转换为全部大写或小写即可。所以你也可以说:
if userInput.lower() == 'help':
有很多不同的方法可以做到这一点。有些人认为某些方法比其他方法好得多。但诀窍是让它发挥作用。
此外,作为旁注,您可以只说 '\n'.join(a)
而没有 map
和 str
,因为看起来您列表中的所有条目都已经是字符串。如果您可能还有其他内容,那么 map
和 str
会很有帮助。