鸡兔同笼问题的python实现

写了几行处理鸡兔同笼问题:

  • 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?——出自《孙子算经》

第一遍写的

ji = 0

tu = 0

while ji+tu<=35:

  if 2*ji+4*tu==94:

    print("鸡有%d只,兔有%d只"%(ji,tu))

  ji+=1

  tu+=1

运行后没有结果。检查发现这里鸡兔一起加相当于鸡兔相等,这当然是不可能解出来的。于是修改为:

ji = 0

while ji<=35:

  tu=0

  while tu<=35:

    if 2*ji+4*tu==94:

      print("鸡有%d只,兔有%d只"%(ji,tu))

      tu+=1  

  ji+=1

运行出现一列结果

发现这里设定的其实是鸡兔最大35,而不是两者和。 再次修改:

ji = 0

while ji<=35:

  tu=0

  while tu<=35:

    if (2*ji+4*tu==94)and(ji+tu==35):

      print("鸡有%d只,兔有%d只"%(ji,tu))

      tu+=1  

  ji+=1

最后得到结果。

今天写的这个东西并不难,但是出现了许多问题,而且反复改才得到正确结果。开始编的时候就马虎,很多没有考虑清楚的。多加练习。。。嗯

posted @ 2017-11-19 19:55  神龟虽寿  阅读(17245)  评论(0编辑  收藏  举报