python - 我应该怎么做才能以列格式获取数学表
问题描述
我是一名学生,通过运行此代码,我连续获得 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
此外,您不必将字符串类型转换为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
说明:我已经颠倒了循环顺序,现在 loop[1-5] 执行 10 次/行
PS:
f
是用来格式化字符串的!
推荐阅读
- java - 如何修复 VSCode 上的“声明的包与预期的包不匹配”错误
- python - 尝试使用 sqlalchemy 将新表保存到 MySQL 时出错
- javascript - Sequelize,在插入后立即读取插入行的ID而不提交事务
- emacs - 有没有办法将子树重新归档到 org-mode 中的其他文件?
- android - 如何在 Android 上使用深度链接打开我的应用程序?
- ruby-on-rails - 运行 `rails notes -a ["anything"]` 时在 CLI 中看到的 Rails 拼写错误
- c++ - cudaMallocManaged() 是否在 RAM 和 VRAM 中创建同步缓冲区?
- python - 如何在没有 ini 和 zip 文件的情况下创建 zip 存档
- c - C素数错误
- python-3.x - Astropy Tables:从另一个表中设置数据类型