Python 将表中的数字改为单词
我必须写一个程序,输出数字1-100。以这种格式: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 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,它工作得非常好。现在我应该能够做剩下的编码:)再次感谢百万!