我在尝试将"|"字符添加到我的乘法表时遇到问题。假设输出在最左侧有一列,读数为1、2、3、4等,并用"|"字符将其与表的其余部分分开。这就是我目前所拥有的。
- '''
- This program allows a user to make a multiplication table of their choise in size.
- '''
- number = int(raw_input('What size multiplication table would you like: '))
-
- i = 1
- print "-" * 50
- while i < 11:
- n = 1
- while n <= 10:
- print "%4d" % (i * n),
- n += 1
- print ""
- i += 1
- print "-" * 50
-
- raw_input('Press ENTER to continue...')
-
# 回答1
我认为这会做你想要的:
- number = int(raw_input('What size multiplication table would you like: '))
-
- i = 1
- print "-" * 100
- while i < 11:
- print "|".join(["%4d" % (i), "".join(["%4d" % (i*n) for n in range(2,11)])])
- i += 1
- print "-" * 100
-
- raw_input('Press ENTER to continue...')
与连接字符串并发出一条打印语句相比,发出多条打印语句要慢一些。在上面的例子中,我用"|"字符、"i"的当前值和另一个字符串连接两个字符串。另一个字符串是通过连接使用列表理解创建的字符串列表来创建的。清单理解相当于:
- strlist = []
- for n in range(2,11):
- strlist.append("%4d" % (i*n))
HTH
# 回答2
我需要输出显示像一个真正的乘法表。示例:
Http://www.dingeman.org/images/times-table-12x12.gif
# 回答4
我如何将"1到x"添加到乘法表之上,以使其看起来像这段代码的实际乘法表?我能够在表中找到"|"字符,但不知道其他部分。
- x = int(raw_input('What size multiplication table would you like: '))
- for row in range(1, x + 1):
- print "|".join(["%4d" % (row), "".join(["%4d" % (row*col) for col in range(1, x + 1)])])
-
-
正确的输出应该如下所示:
- | 1 2 3 4 5
- ----------------------
- 1| 1 2 3 4 5
- 2| 2 4 6 8 10
- 3| 3 6 9 12 15
- 4| 4 8 12 16 20
- 5| 5 10 15 20 25
-