首页 > 解决方案 > 空白断言错误

问题描述

我经常遇到这个错误,我似乎不太明白为什么这个错误不断弹出。

def addnumbers(number1, number2, base):
    sum = bin(int(number1,base)+int(number2,base))
    
    print(sum)
    
    return sum 
    
assert addnumbers("100011", "110011", 2) == "1010110"
assert addnumbers("4013", "4217", 8) == "10232"
addnumbers("100011","110011",2)

所以我有这段代码,它是一种将字符串添加在一起并以基本形式返回它们的简单方法,现在我首先处理十六进制部分。所以第一个断言行。

0b1010110
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-8-1102c03eff64> in <module>
     17     return sum
     18 
---> 19 assert addnumbers("100011", "110011", 2) == "1010110"
     20 assert addnumbers("4013", "4217", 8) == "10232"
     21 addnumbers("100011","110011",2)

AssertionError: 

但是,它返回一个错误和一个空白断言错误,当我真的不知道如何修复第一个断言行并给我一个空白错误消息时,我不确定从哪里开始修复我的代码。如果有人能给我任何关于为什么断言错误返回空白的指导,那将不胜感激!

标签: pythonpython-3.xtestingerror-handlingassertion

解决方案


要显示错误文本,您必须显式设置它:

assert addnumbers("100011", "110011", 2) == "1010110", 'My custom error message'

推荐阅读