11-22 对“大数字”的变形

将之前的大数字程序做一个变形,不再打印*,而是用对于的数字代替。

效果如下:

    1      22222    3333       4      555    6666  77777777  8888   999999    0000   
  1 1     2     2  3    3     44    5       6             7 8    8 9      9  0    0  
    1     2    2        3    4 4    5       6            7  8    8 9      9 0      0 
    1         2      333    4  4     555    6 66 6      7    8888    999999 0      0 
    1        2          3  4444444       5  6    6     7    8    8        9 0      0 
    1       2      3    3      4         5  6    6    7     8    8       9   0    0  
   111    2222222   3333       4     555    6 66 6   7       8888       9     0000  

代码:

import sys
Zero=["   ****   ",
      "  *    *  ",
      " *      * ",
      " *      * ",
      " *      * ",
      "  *    *  ",
      "   ****   ",]
One=[  "    *    ",
       "  * *    ",
       "    *    ",
       "    *    ",
       "    *    ",
       "    *    ",
       "   ***   ",]
Two=[  "  *****  ",
       " *     * ",
       " *    *  ",
       "     *   ",
       "    *    ",
       "   *     ",
       " ******* ",
     ]
Three=["  ****   ",
       " *    *  ",
       "      *  ",
       "   ***   ",
       "      *  ",
       " *    *  ",
       "  ****   ",]
Four=["    *   ",
      "   **   ",
      "  * *   ",
      " *  *   ",
      "******* ",
      "    *   ",
      "    *   ",]
Five=["   ***  ",
      " *      ",
      " *      ",
      "  ***   ",
      "      * ",
      "      * ",
      "  ***   ",]
Six=[ "  ****  ",
      " *      ",
      " *      ",
      " * ** * ",
      " *    * ",
      " *    * ",
      " * ** * ",]
Seven=["********",
       "       *",
       "      * ",
       "     *  ",
       "    *   ",
       "   *    ",
       "  *     ",]
Eight=["  ****  ",
       " *    * ",
       " *    * ",
       "  ****  ",
       " *    * ",
       " *    * ",
       "  ****  ",]
Nine=[ " ****** ",
       "*      *",
       "*      *",
       "  ******",
       "       *",
       "      * ",
       "     *  ",]
Digits=[Zero,One,Two,Three,Four,Five,Six,Seven,Eight,Nine]

def bigdigts(digit,Digits=Digits):
   # print(Digits)
    row=0
    if len(digit)==0: print("ERROR")
    else:
        while row<7:
            line=""
            for i in digit:
             # print(i)
             for j in Digits[i][row]:
                  if  j=="*":
                     print(i,end="")
                  else:
                     print(j,end="")
            print("")
            row+=1


bigdigts([1,2,3,4,5,6,7,8,9,0])


这个是在前面的大数字程序上做修改的,要实现这个效果有两个办法:

  1. 把前面定义的数字的*改成对应的数字,不过这样写太死板了。
  2. 这里用的方法是不再先把字符串一次添加到一行再输出,而是逐个输出,当遇到*的时候就替换成对应的数字。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值