Python:doctest重音issu

2024-10-02 20:40:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个Python初学者,在学校,我有点小气。我的老师要我写一个函数,返回一个带重音的句子,“print()”向我展示好的字符和重音,但是doctest没有

这是我的代码:

def test() :
   """
   >>> test()
   à - â - ä - é - è - ê - ë - ï - î - ô - ö - ù - û - ü - ÿ - ç
   """
   print("à - â - ä - é - è - ê - ë - ï - î - ô - ö - ù - û - ü - ÿ - ç")

import doctest
doctest.testmod(optionflags=doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS, verbose = True)

正如我所说,印刷品确实能很好地显示人物。在

这是医生的问题:

^{pr2}$

测试通过了,没有失败,但我真的希望Doctest在不显示Unicode十六进制字符的情况下读取这些字符。在

我怎么能修好这个?在

注:我的老师用IDE Thonny,所以我很自然地跟着他,我知道他不会责怪我(我们,因为我的伙伴们没有进一步研究,只是把“é”改为“e”)。在


Tags: 函数代码testimportdef老师字符学校
1条回答
网友
1楼 · 发布于 2024-10-02 20:40:49

所以,事实上,Thonny是问题的一部分。如果我试着在Thonny中打印一个带重音的句子,博士也会尝试,即使他通过了测试,他仍然会打印出一个错误,但是python仍然会打印出好的句子。在

所以我测试了很多东西,在我的Ubuntu笔记本电脑上,在python3.6中,我注意到如果print()打印的不止一个句子,就有问题了。在

这是测试代码:

def test():
   """
   >>> test()
   é é é
   """
   print('é é é')

他打印了:

^{pr2}$

如果我在打印中添加一个变量,这就是我得到的:

def test(var):
"""
>>> test(5)
é é é 5
"""
print('é é é', var)

医生测试:

^{4}$

我觉得我误用了Python中的print,我真的不知道为什么,我在网上搜索找到了一些解决方案,比如“print(”%s,name)“来打印打印变量,但是当我尝试时,它显示的是“%s”,而不是用字符串替换它。我想我找到了关于python2.x而不是3.x的文档

所以,如果我给你更多关于我的问题的信息,或者如果你有解决的办法,我很乐意知道为什么医生会这样做。总之,正如我所说,我的老师不会认为这是一个错误,所以这不是一个重要的问题,我必须解决的最后期限,只是一个问题,我关注。在

相关问题 更多 >