Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何调试为什么我的Python程序不工作?_Python_Python 3.x - Fatal编程技术网

如何调试为什么我的Python程序不工作?

如何调试为什么我的Python程序不工作?,python,python-3.x,Python,Python 3.x,我在这段代码的3个地方出错;有人能帮我弄清楚它为什么会出错吗?主要的错误是,在Python中空格是必不可少的。您必须保持正确的缩进 您的函数定义需要缩进,循环和if语句也需要缩进 returns是在返回项之前需要后跟空格的语句。执行returnx将尝试调用已定义的返回函数,而不是运行正确的return语句 另一个错误是,当您从输入中接受变量时,它以字符串的形式输入。如果您想将其作为整数用于数学,则需要在INTINPUTTOUR提示符下对其进行强制转换 另一个错误是,您使用逗号将字符串连接到另一个

我在这段代码的3个地方出错;有人能帮我弄清楚它为什么会出错吗?

主要的错误是,在Python中空格是必不可少的。您必须保持正确的缩进

您的函数定义需要缩进,循环和if语句也需要缩进

returns是在返回项之前需要后跟空格的语句。执行returnx将尝试调用已定义的返回函数,而不是运行正确的return语句

另一个错误是,当您从输入中接受变量时,它以字符串的形式输入。如果您想将其作为整数用于数学,则需要在INTINPUTTOUR提示符下对其进行强制转换

另一个错误是,您使用逗号将字符串连接到另一个变量,除此之外,它不是字符串。将它们设置为字符串,然后在print语句中使用+运算符与它们联系

def solve(numLegs,numHeads):
for numChicks in range(0, numHeads + 1):
numPigs = numHeads - numChicks
totLegs = 4*numPigs + 2*numChicks
if totLegs == numLegs:
return(numPigs,numChicks)
return(None,None)

def barnYard():
heads = input('Enter a Number of heads')
legs  = input('Enter a Number of legs')
pigs,chickens = solve(legs,heads)
if pigs == None:
    print ('There is no solution')
else:
    print ('number of Pigs',pigs)
    print ('number of chickens',chickens)

print (barnYard())

那些地方是什么?您的错误是什么?欢迎使用StackOverflow。请阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。您需要先修复缩进,然后才能获得更多信息。
def solve(numLegs,numHeads):
    for numChicks in range(0, numHeads + 1):
        numPigs = numHeads - numChicks
        totLegs = 4*numPigs + 2*numChicks
        if totLegs == numLegs:
            return (numPigs,numChicks)
        return (None,None)

def barnYard():
    heads = int(input('Enter a Number of heads'))
    legs  = int(input('Enter a Number of legs'))
    pigs,chickens = solve(legs,heads)
    if pigs == None:
        print ('There is no solution')
    else:
        print ('number of Pigs ' + str(pigs))
        print ('number of chickens ' + str(chickens))

print (barnYard())