Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将表中的数字改为单词_Python_Numbers_Words - Fatal编程技术网

Python 将表中的数字改为单词

Python 将表中的数字改为单词,python,numbers,words,Python,Numbers,Words,我必须写一个程序,输出数字1-100。以这种格式: 1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65

我必须写一个程序,输出数字1-100。以这种格式:

 1   11   21   31   41   51   61   71   81   91
 2   12   22   32   42   52   62   72   82   92
 3   13   23   33   43   53   63   73   83   93
 4   14   24   34   44   54   64   74   84   94
 5   15   25   35   45   55   65   75   85   95
 6   16   26   36   46   56   66   76   86   96
 7   17   27   37   47   57   67   77   87   97
 8   18   28   38   48   58   68   78   88   98
 9   19   29   39   49   59   69   79   89   99
10   20   30   40   50   60   70   80   90  100
这不是问题所在,但在下一步中,我必须将每个可以被3除或包含3的数字替换为一个特定的单词。就我而言,比夫。因此,输出应如下所示:

   1   11 Biff Biff   41 Biff   61   71 Biff   91
   2 Biff   22 Biff Biff   52   62 Biff   82   92
Biff Biff Biff Biff Biff Biff Biff Biff Biff Biff
   4   14 Biff Biff   44 Biff   64   74 Biff   94
   5 Biff   25 Biff Biff   55   65 Biff   85   95
Biff   16   26 Biff   46   56 Biff   76   86 Biff
   7   17 Biff Biff   47 Biff   67   77 Biff   97
   8 Biff   28 Biff Biff   58   68 Biff   88   98
Biff   19   29 Biff   49   59 Biff   79   89 Biff
  10   20 Biff   40   50 Biff   70   80 Biff  100
number=1
while number< 11:
    if (number % 3 == 0):
        print("Biff")
        number +=1
    else:
        print('{0:4d} {1:4d} {2:4d} {3:4d} {4:4d} {5:4d} {6:4d} {7:4d} {8:4d} {9:4d}'.format(number, number+10, number+20, number+30, number+40, number+50, number+60, number+70, number+80, number+90))
        number +=1
   1   11   21   31   41   51   61   71   81   91
   2   12   22   32   42   52   62   72   82   92
Biff
   4   14   24   34   44   54   64   74   84   94
   5   15   25   35   45   55   65   75   85   95
Biff
   7   17   27   37   47   57   67   77   87   97
   8   18   28   38   48   58   68   78   88   98
Biff
  10   20   30   40   50   60   70   80   90  100
这就是我被困的地方。现在,我的代码如下所示:

   1   11 Biff Biff   41 Biff   61   71 Biff   91
   2 Biff   22 Biff Biff   52   62 Biff   82   92
Biff Biff Biff Biff Biff Biff Biff Biff Biff Biff
   4   14 Biff Biff   44 Biff   64   74 Biff   94
   5 Biff   25 Biff Biff   55   65 Biff   85   95
Biff   16   26 Biff   46   56 Biff   76   86 Biff
   7   17 Biff Biff   47 Biff   67   77 Biff   97
   8 Biff   28 Biff Biff   58   68 Biff   88   98
Biff   19   29 Biff   49   59 Biff   79   89 Biff
  10   20 Biff   40   50 Biff   70   80 Biff  100
number=1
while number< 11:
    if (number % 3 == 0):
        print("Biff")
        number +=1
    else:
        print('{0:4d} {1:4d} {2:4d} {3:4d} {4:4d} {5:4d} {6:4d} {7:4d} {8:4d} {9:4d}'.format(number, number+10, number+20, number+30, number+40, number+50, number+60, number+70, number+80, number+90))
        number +=1
   1   11   21   31   41   51   61   71   81   91
   2   12   22   32   42   52   62   72   82   92
Biff
   4   14   24   34   44   54   64   74   84   94
   5   15   25   35   45   55   65   75   85   95
Biff
   7   17   27   37   47   57   67   77   87   97
   8   18   28   38   48   58   68   78   88   98
Biff
  10   20   30   40   50   60   70   80   90  100

我正在尝试替换可以被3除的数字。但是,它不是替换单个数字,而是替换整行。

以下是我对代码的修改:

for number in range(1, 11):
    line_contents = []
    for j in range(10):
        n = number + j * 10
        if (n % 3 == 0):
            line_contents.append("Biff")
        else:
            line_contents.append("{0:4d}".format(n))
    print(" ".join(line_contents))
这给了我:

   1   11 Biff   31   41 Biff   61   71 Biff   91
   2 Biff   22   32 Biff   52   62 Biff   82   92
Biff   13   23 Biff   43   53 Biff   73   83 Biff
   4   14 Biff   34   44 Biff   64   74 Biff   94
   5 Biff   25   35 Biff   55   65 Biff   85   95
Biff   16   26 Biff   46   56 Biff   76   86 Biff
   7   17 Biff   37   47 Biff   67   77 Biff   97
   8 Biff   28   38 Biff   58   68 Biff   88   98
Biff   19   29 Biff   49   59 Biff   79   89 Biff
  10   20 Biff   40   50 Biff   70   80 Biff  100
关键的变化是有一个变量
n
,依次包含每个数字,并测试它是否可以被3整除。您只是在测试
number
是否可以被3整除,即只测试行首的数字

我还试图通过存储字符串列表并在内部循环中构建这些字符串来整理如何生成每一行。在每个内部循环之后,输入并打印结果

请随意询问任何不清楚的部分

for i in range(10):
    for j in range(10):
        n = 1+i+j*10
        print "{0:4d}".format(n) if (n) % 3 != 0 and  '3' not in str(n) else "Biff",
    print
给予

$ python t.py 
   1   11 Biff Biff   41 Biff   61   71 Biff   91
   2 Biff   22 Biff Biff   52   62 Biff   82   92
Biff Biff Biff Biff Biff Biff Biff Biff Biff Biff
   4   14 Biff Biff   44 Biff   64   74 Biff   94
   5 Biff   25 Biff Biff   55   65 Biff   85   95
Biff   16   26 Biff   46   56 Biff   76   86 Biff
   7   17 Biff Biff   47 Biff   67   77 Biff   97
   8 Biff   28 Biff Biff   58   68 Biff   88   98
Biff   19   29 Biff   49   59 Biff   79   89 Biff
  10   20 Biff   40   50 Biff   70   80 Biff  100

我刚刚重读了你的问题,看到了“or包含3”部分。如果你需要的话,我会补充一点,但我会鼓励你先自己尝试让它工作起来。首先,非常感谢你的帮助。我就是这么想的,但我找不到解决办法。我在打印后和代码末尾放了一些括号,因为我使用的是Python3,它工作得非常好。现在我应该能够做剩下的编码:)再次感谢百万!