Python 我应该怎么做才能得到列格式的数学表

Python 我应该怎么做才能得到列格式的数学表,python,python-3.x,Python,Python 3.x,我是一名学生,通过运行这段代码,我得到了一行中1到5个表的输出,但是我希望输出的方式是,如果有2个表,那么3个表应该并排在下一列中。为了达到这个结果,我应该包括哪些内容。总而言之,我希望输出以列格式出现,每个表并排出现,而不是每个表都在另一个表的下面 f=open('C:/python/1 to 5 table','w') for i in range(1,6): for j in range (1,11): print (i,'X',j,'=',i*j)

我是一名学生,通过运行这段代码,我得到了一行中1到5个表的输出,但是我希望输出的方式是,如果有2个表,那么3个表应该并排在下一列中。为了达到这个结果,我应该包括哪些内容。总而言之,我希望输出以列格式出现,每个表并排出现,而不是每个表都在另一个表的下面

f=open('C:/python/1 to 5 table','w')
for i in range(1,6):
    for j in range (1,11):
        print (i,'X',j,'=',i*j)
        f.write (string(i)+string('X')+string(j)+string('=')+string(i*j)+string('\n'))
f.close()

首先,
string
应该是
str

f=open('table.txt','w')

for j in range (1,11):
    for i in range(1,6):
        # print (i,'X',j,'=',i*j)
        f.write (str(i)+str('X')+str(j)+str('=')+str(i*j)+str('\t')) # I don't like number of `str`'s, they are not needed for a string
    f.write('\n')
f.close()
此外,您不必将字符串类型转换为
str

f=open('table.txt','w')

for j in range (1,11):
    for i in range(1,6):
        # print (i,'X',j,'=',i*j)
        f.write (str(i)+str('X')+str(j)+str('=')+str(i*j)+str('\t')) # I don't like number of `str`'s, they are not needed for a string
    f.write('\n')
f.close()
建议代码

f=open('table.txt','w')

for j in range (1,11):
    for i in range(1,6):
        f.write (f'{i}X{j}={i*j}\t')
    f.write('\n')
f.close()
输出:

1X1=1   2X1=2   3X1=3   4X1=4   5X1=5   
1X2=2   2X2=4   3X2=6   4X2=8   5X2=10  
1X3=3   2X3=6   3X3=9   4X3=12  5X3=15  
1X4=4   2X4=8   3X4=12  4X4=16  5X4=20  
1X5=5   2X5=10  3X5=15  4X5=20  5X5=25  
1X6=6   2X6=12  3X6=18  4X6=24  5X6=30  
1X7=7   2X7=14  3X7=21  4X7=28  5X7=35  
1X8=8   2X8=16  3X8=24  4X8=32  5X8=40  
1X9=9   2X9=18  3X9=27  4X9=36  5X9=45  
1X10=10 2X10=20 3X10=30 4X10=40 5X10=50 
说明: 我已经颠倒了循环顺序,现在循环[1-5]运行10次/行

附言:
f
用于格式化字符串

什么是
字符串(..)
?NameError尝试反转循环顺序-首先是i,然后是j。另外:
f.write(f“{i}X{j}={i*j}”)
并且您需要在每列后面放置一些空格