微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在python中打印一个字符串,就像点阵打印机的工作原理

如何解决在python中打印一个字符串,就像点阵打印机的工作原理

我想使用“*”或任何其他给定的特殊字符(例如点阵打印机的工作原理)打印任何英文字母

我可以想出一个函数 def printLetters(string,font_size,special_char):,当它与任何字母一起传递时,将使用指定的特殊字符打印该字母。

考虑字母“A”:

def printLetters('A',10,'&'):   # would print the letter A within a 10x10 matrix using '&'

 &&&&&&&&
&        &
&        &
&        &
&&&&&&&&&&
&        &
&        &
&        &
&        &
&        &

以及每个字符的此类代码片段。 “A”的示例:

FUNCTION_TO_PRINT_A:
    space = ' '
    #print first line
    print('',special_char*(font_size-2))
    for i in range(1,font_size-1):
        #print(i)
        if font_size//2 == i:
            print(special_char*(font_size))
        print(special_char,space*(font_size-2),special_char,sep = '')

printLetters('A',"&")

但是当参数 string 有多个字符时,它会在第一个字符后打印乱码。
所以我只是想要一些想法/代码片段,它会先打印 string 中所有字符的第一行,依此类推直到最后一行,以便所有这些 字符 并排排列水平在控制台上。

解决方法

啊,美好的回忆。在 GUI 出现之前,我们曾经一直在做这种事情。想要单独定义每个字母的形状是好的,但是单独制作一个打印每个字母的函数显然没有用。一个字母打印N行后,就没有办法回到顶部了。

你知道你需要打印所有字母的第一行,然后是所有字母的第二行,等等。我不想给你写一个完整的例子,因为学习如何计算对你来说非常重要这种事情,但你为什么不从这样的事情开始:

font = {
    'A': [
        ' ###  ','#   # ','##### ','#   # '
    ],'B': [
        '####  ','####  ','####  '
    ],...etc...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。