一道简单的python编程?

鸡兔同笼问题。假设共有鸡、兔共m只,脚n只,求鸡、兔各有多少只。
先编写函数demo(m, n),其中m为鸡兔只数之和,n为脚的数目,返回值为元组(ji,tu),其中ji为鸡的只数,tu为兔子只数,若无解,则返回元组(-1,-1)。
然后编写程序,让用户输入正整数m和n(含义如前),调用函数demo(m, n),输出鸡的只数和兔子的只数,若无解,则输出“输入数据出错!”。输入及输出格式见样例输入及输出。只有一组输入。
样例输入及输出1:
输入鸡兔数,脚数:31,90
17只鸡,14只兔。
<程序结束>
样例输入及输出2:
输入鸡兔数,脚数:30,91
输入数据出错!
<程序结束>

def demo(m, n):
for ji in range(1, m + 1):
tu = m - ji
if ji * 2 + tu * 4 == n:
return (ji, tu)
else:
return (-1, -1)


m, n = input('输入鸡兔数,脚数:').split(',')
if demo(int(m), int(n)) == (-1, -1):
print('输入数据出错!')
else:
print('%d只鸡,%d只兔。' % demo(int(m), int(n)))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-06-28

代码(缩进格式见图):

def demo(m,n):

for i in range(0,m+1):

if 4*m-2*i==n:

return i,m-i

return -1,-1

print('输入鸡兔数,脚数:')

m,n=map(int,input().strip().split(','))

j,t=demo(m,n)

if j!=-1:

print(f'{j}只鸡,{t}只兔。')

else:

print('输入数据出错!')

运行截图: