这是一道古代的数学题,有时候作为奥数或者公务员考试也会出现,我们今天用Python把它解决。
我们在算不出来的时候,就可以使用懒人的办法,一个一个试着凑。计算机有强大的计算功能,正好可以干这个事情。
为防止输入的字符无法识别,只允许输入数字 0 - 9 。
定义函数:把输入的字符串 input_string 作为参数,检测是否为纯数字,如果是返回 1,如果不是返回 0 。
把输入的字符串每一个字符 input_string[i] 都单独和允许输入的字符 numString 对比。
定义函数:把提示语 tip_string 作为参数,让用户一直输入字符串,直到正确为止。
当 guess_rw 为0时,一直输入;直到为 1 时,返回纯数字字符串 guess_input_string 。
显示题目基础,设置提示语字符串,一个是头的 head_string ,一个是脚的 foot_string 。
把提示语字符串作为参数传给函数 guess_input 获取纯数字字符串,变成整数类型 int() 后,赋给相应变量 head_num,foot_num 。
设置解决标志 solution_sign 初始化为有解 1,0 为无解。
初始化鸡的数量 chicken_num 为 0 。
一直 while 循环试算,直到有解或无解为止。
头的数量 head_num 减去鸡的数量 chicken_num 为兔子的数量 rabbit_num 。因为鸡和兔子分别都只有一个头。
当鸡的腿数 chicken_num * 2 加上兔子的腿数 rabbit_num * 4 等于 == 腿的数量 foot_num 时为有解,设置解决标志 solution_sign 为 1,退出 while 循环。
当都不相等时,无解,设置解决标志 solution_sign 为 0 。
鸡的数量 chicken_num 是从 0 一直试算到有解或头的数量 head_num 减一为止。
当有解时:输出鸡兔的只数,头数及腿数。
当无解时:告知无解!
输入非数字字符,会让用户一直输入。
输入数字,有解时。
输入数字,无解时。
完整代码如上。
python while循环例题鸡兔同笼_使用函数嵌套和循环枚举解决鸡兔同笼问题(解数学题学Python编程)...