我对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
等等,它也会成功.我可以知道数字是什么意思,我们如何使用它?
我正在尝试一个简单的程序,它可以让我打印出"计算机"的反义词.当我运行我的代码时,我收到运行时错误 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。我创建了一个水果列表,如下
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 ×2
assert ×1
for-loop ×1
java ×1
junit ×1
precision ×1
python-2.7 ×1
recursion ×1
string ×1
while-loop ×1