我无法完成最简单的Codewars挑战

时间:2019-03-29 10:59:45

标签: python

我对编程非常陌生,无法弄清楚如何完成代码战中最简单的挑战。我觉得很蠢:(

  

问题:我有一只猫和一条狗。

     

我和小猫/小狗同时得到了它们。那是人类的岁月   以前。

     

现在将其各自的年龄返回为[humanYears,catYears,dogYears]

注意:

  • humanYears> = 1

  • humanYears仅是整数

猫年

  • 第一年15个猫年

  • 第二年+9猫年

  • +4猫年

狗年

  • 第一年15个狗年

  • +9年的狗年第二年

  • 此后每年增加5个狗年

这是我的代码:

def human_years_cat_years_dog_years(human_years):
    catYears = 0
    dogYears = 0

    if human_years == 1:
        catYears = 15
        dogYears = 15

    elif human_years == 2:
        catYears = 24
        dogYears = 24

    elif human_years >= 3:
        catYears = 4*human_years + 24 
        dogYears= 5*human_years + 24

    return [human_years, catYears, dogYears]

我知道我的问题出在> = 3部分。除非我为高于3的每个整数做出IF语句,否则我只是想不出正确的方法。

2 个答案:

答案 0 :(得分:1)

当您进行> = 3年时,您忘记了前2年

<?php foreach($multiticheckbox as $key => $newrow){ ?>
<tr>
    <td><?php echo ucfirst($key); ?></td>
    <?php
    foreach($newrow as $j => $chkboxes ){  ?>
      <?php
      foreach($chkboxes as $k => $item ){  ?>
              <td>
                <?php
                    $checked="";
                    if(sizeof($access_relation)){
                        $checked = (isset($access_relation[$j][$k]))? 'checked':'';
                    }
                ?>
                <input <?php echo $checked; ?> class="child_chkbox"  type="checkbox" value="<?php echo $item; ?>" name="group_module_access[<?php echo $j;?>][<?php echo $k;?>]"></td>
        <?php } ?>
    <?php } ?>
</tr>

答案 1 :(得分:0)

不同的实现方式,更复杂的时间,但是如果您想添加其他动物或更复杂的老化(例如15,9,4,3,3,3,3,2,1),则可能更灵活

def years(human, arr):
    return sum( arr[min(i,len(arr)-1)] for i in range(human))

def human_years_cat_years_dog_years(human_years):
    cat = [15,9,4]
    dog = [15,9,5]
    return human_years, years(human_years,cat), years(human_years,dog)