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])