python学习之代码练习二(鸽子和兔子)
题目
题目链接:鸽子和兔子
实现代码
#!usr/bin/python
# coding=utf-8
result = []
num = 0
while num == 0:
# 判断是否输入了0 0结束标志
input_value = raw_input()
end = '0 0'
if input_value == end:
break
else:
values = input_value.split()
## 判断输入是否合法
if len(values) != 2:
exit()
else:
## 通过抛出转换异常判断输入是否有非数字
try:
heads = int(values[0])
feet = int(values[1])
## 判断输入是否合法
if (heads <= 0) | (feet <= 0):
result.append("Error")
continue
## 计算
if (heads*4 - feet)%2 > 0:
result.append("Error")
continue
if (feet - 2*heads)%2 > 0:
result.append("Error")
continue
pigeon = (heads*4 - feet)/2
rabbit = (feet - 2*heads)/2
#print pigeon
#print rabbit
## 判断计算出的值的正确性,动物的个数不可能为负数
if (pigeon < 0) | (rabbit < 0):
result.append("Error")
continue
res = "%s %s" % (pigeon, rabbit)
result.append(res)
except ValueError:
exit()
## 输出
for index in range(len(result)):
if index == len(result) - 1:
print "%s" % (result[index]),
else:
print "%s" % (result[index])