Python 如何在主函数中打印值?
我的目标是:Python 如何在主函数中打印值?,python,list,function,return,Python,List,Function,Return,我的目标是: 接受输入(直到用户输入0)或退出(如果输入了字母) 运行一些检查以抛出非整数 将这些值添加到列表中,然后 然后打印列表的总和 我试图捕获main中变量close的布尔值,但我得到了一个错误 错误:“close=addToList()类型错误:addToList()缺少必需的1 位置参数:“numberList.” 如果输入了非整数,有什么更好的方法可以优雅地退出?谢谢。您在第二次通话中忘记了您的论点: close = addToList(sumTotal) 将您的main函数更改
如果输入了非整数,有什么更好的方法可以优雅地退出?谢谢。您在第二次通话中忘记了您的论点:
close = addToList(sumTotal)
将您的
main
函数更改为如下所示
def main():
numberList = createList()
close = addToList(numberList)
sumTotal = sumList(numberList)
if not close:
printSum(sumTotal)
def main():
numberList = []
close = addToList(numberList)
if not close:
printSum(sum(sumTotal))
要使代码更干净,可以做的其他事情是删除sumList
函数,只需使用内置的sum
函数,然后删除createList
,因为它实际上不需要自己的函数。然后您的main
将如下所示
def main():
numberList = createList()
close = addToList(numberList)
sumTotal = sumList(numberList)
if not close:
printSum(sumTotal)
def main():
numberList = []
close = addToList(numberList)
if not close:
printSum(sum(sumTotal))
谢谢各位
我在addToList函数的末尾去掉了if-else,并返回了close值和numberList值:return(close,numberList)
然后主要使用内置和函数:
close, numberList = addToList(numberList)
#the main function
def main():
numberList = createList()
close, numberList = addToList(numberList)
if not close:
printSum(sum(numberList))
最后,为了抛出所有输入的非整数输入,我使用了:
if not stringname.isdigit():
现在运行良好。正如错误明确指出的那样,
addToList
需要一个参数:def addToList(numberList)
,但您没有提供它:close=addToList()
,考虑使用<代码>如果关闭:<代码>而不是<代码>如果接近=真:< /代码>和代码>而不是停止添加:而不是<代码>,同时在PPE8中建议StaseP==false:< />代码,并且(以非常非常小的方式)更快。@Cornel可以随意将我的答案标记为已接受,如果您觉得它回答了您的问题,请向上投票:)谢谢。我已经更新了我的代码。另外,检查字符串以便只允许整数的最佳方法是什么?使用正则表达式?@Cornel您使用的isalpha
很好,相反的是isdigit
谢谢您的帮助。