如何在报价单中放入循环打印?

时间:2019-05-22 10:44:53

标签: python

因此为我提供了一个doctest和一个简单的任务,并完成了它,但是我无法弄清楚如何获得结果,如doctest所示用引号引起来。

代码如下:

def get_ords(s):
    """
    >>> get_ords('abc')
    '97 98 99 '
    >>> get_ords('a b c')
    '97 32 98 32 99 '
    >>> get_ords('a1 b2 c3')
    '97 49 32 98 50 32 99 51 '
    >>> get_ords('[(!)]')
    '91 40 33 41 93 '
    """
    for ch in s:
        print(ord(ch), end=" ")

if __name__ == "__main__":
    import doctest
    doctest.testmod(verbose=True)

输出以下内容:

Expected:
    '97 98 99 '
Got:
    97 98 99 

Expected:
    '97 32 98 32 99 '
Got:
    97 32 98 32 99 

Expected:
    '97 49 32 98 50 32 99 51 '
Got:
    97 49 32 98 50 32 99 51 

Expected:
    '91 40 33 41 93 '
Got:
    91 40 33 41 93 

我不知道如何在for循环或其他内容中将输出用引号引起来。有帮助吗?

3 个答案:

答案 0 :(得分:2)

您需要额外输出报价,但已转义。就像:

sys.stdout.write("\'")
for ch in s:
    print(ord(ch), end=" ")
sys.stdout.write("\'")

答案 1 :(得分:1)

System32

输出

def get_ords(s):
    """
    >>> get_ords('abc')
    '97 98 99 '
    >>> get_ords('a b c')
    '97 32 98 32 99 '
    >>> get_ords('a1 b2 c3')
    '97 49 32 98 50 32 99 51 '
    >>> get_ords('[(!)]')
    '91 40 33 41 93 '
    """
    r = []
    for ch in list(s):
        r.append(str(ord(ch)))
    print(r)
    return ' '.join(r)

print(get_ords('abc'))

答案 2 :(得分:1)

这是我的简单方法:

s = "YOUR_STRING"
print(s)
>>>YOUR_STRING
print('"%s"' %s)
>>>"YOUR_STRING"