python学习之代码练习二(鸽子和兔子)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值