小编sta*_*ack的帖子

assertEquals精度

我对delta/precision的困惑感到困惑assertEquals.我明白这0.034会给我分区代码的精度,如下所示:

public void testDivide() {
        assertEquals(3.0, Arithmetic.divide(12.0, 4.0), 0.0);
        assertEquals(3.3, Arithmetic.divide(10.0, 3.0), 0.034);

        //fail("Not yet implemented");
    }
Run Code Online (Sandbox Code Playgroud)

但是,我试图将其更改为0.03,测试失败.另一方面,当我将其更改为0.04成功时,或者即使我将其更改为0.034444等等,它也会成功.我可以知道数字是什么意思,我们如何使用它?

java precision junit assert

9
推荐指数
1
解决办法
1282
查看次数

如何使用递归来反转字符串?

我正在尝试一个简单的程序,它可以让我打印出"计算机"的反义词.当我运行我的代码时,我收到运行时错误 RuntimeError:cmp中超出了最大递归深度.

我可以知道发生了什么,我该如何解决?

def reverse(str1):
    if str1 == '':
        return str1
    else:
        return reverse(str1[1:] + str1[0])

print reverse('retupmoc')
Run Code Online (Sandbox Code Playgroud)

python string recursion python-2.7

4
推荐指数
1
解决办法
864
查看次数

如何使用Python中的for和while循环按字母顺序排序?

我还在努力学习Python。我创建了一个水果列表,如下

fruitList = ["pear","apple","strawberry","banana","orange"]
Run Code Online (Sandbox Code Playgroud)

我想使用 for 循环和 while 循环按字母顺序打印它们。

   fruitList.sort()
Run Code Online (Sandbox Code Playgroud)

因为 python 有一个名为 sort() 的函数,因此我可以排序。但是如果我不想使用排序功能怎么办?

但是,现在我有一个问题,如何使用 while 循环进行排序?有人可以告诉我我该怎么做吗?这是我尝试过的,使用 len()

for fruit in fruitList:
    while (len(fruitList[0]) > len(fruit[0])):
            fruit += 1
            print fruit
            continue
Run Code Online (Sandbox Code Playgroud)

当我运行这个程序时没有打印任何内容。在 while 循环中,我是否应该与索引[0] 进行比较,或者我也可以使用排序函数吗?

python for-loop while-loop

-2
推荐指数
1
解决办法
2万
查看次数