本文主要是介绍Python作业题——“鸡兔同笼”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、题目描述
1、输入格式
2、输出格式
3、示例
二、代码解析
1、全部代码
2、代码详解
三、源代码奉上
一、题目描述
编写一个程序,用户在同一行内输入两个整数,代表头和脚的数量,编程计算笼中各有多少只鸡和兔(假设鸡和兔都正常,无残疾)。如无解则输出“Data Error!”
1、输入格式
输入为一行,以空格分隔的两个整数h f ,分别代表鸡兔的总头数和总脚数。
2、输出格式
使用输入值进行计算,如有解,则输出:有m只鸡,n只兔;如无解则输出Data Error!
3、示例
(1)
输入:35 94
输出:有23只鸡,12只兔
(2)
输入:12 35
输出:Data Error!
二、代码解析
1、全部代码
2、代码详解
题目要求在一行内用空格输入两个整数,所以就需要用到split函数
a,b = input().split()
#表示将输入的以空格分隔的两个数命名为a和b
a,b = map(int,input().split(','))
#表示将输入的以逗号分隔的两个值,转换为整数后命名为a和b
也就是在split()括号内如果不放任何东西,则表示以空格隔开,如果加上单引号,则表示以单引号内的内容隔开
所以输入两个整数应为这样
h,f = map(int,input().split())
然后根据二元一次方程求解得出
n = (f - 2 * h) / 2
m = h - n
应为有除法,所以所得结果可能为小数,所以要去除这类情况,并且不能为负数,当出现这类情况则输出“Data Error!”
if m < 0 or n < 0 or n - int(n) != 0:print('Data Error!')
# n - int(n) != 0可替换为 n != int(n)
最后输出结果
else:print(f'有{int(m)}只鸡,{int(n)}只兔')
三、源代码奉上
h,f = map(int, input().split())
n = (f-2*h)/2
m = h-n
if m < 0 or n < 0 or n - int(n) != 0:print('Data Error!')
else:print(f'有{int(m)}只鸡,{int(n)}只兔')
喜欢的话记得三连哦~~~
感谢支持!!!
这篇关于Python作业题——“鸡兔同笼”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!