[英]Shorter version python code block , using file.write
我是 python 的初学者,想知道这个代码块是否有更短的版本。我正在尝试将八表写入文件。
i = 1
file = open('table.txt', 'w')
while i<=10:
inputf = str(8*i)
file.write('8 * ')
file.write(str(i))
file.write(' = ')
file.write(inputf)
file.write('\n')
i = i+1
file.close()
您可以使用如下f-string
:
i = 1
file = open('table.txt', 'w')
while i<=10:
file.write(f' 8 * {i} = {8*i} \n')
i = i+1
file.close()
感谢@BNilsou 使用for-loop
:
file = open('table.txt', 'w')
for i in range(1,11):
file.write(f' 8 * {i} = {8*i} \n')
file.close()
输出:(在 table.txt 中)
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
8 * 10 = 80
with open("table.txt", "w") as file:
for i in range(1, 11):
print(f'8 * {i} = {8 * i}', file=file)
是你能得到的最短的行。
你会得到相同的结果:
with open('table.txt', 'w') as fh:
for i in range(1, 11):
fh.write(f'8 * {i} = {8*i}\n')
file = open('table.txt', 'w') for i in range(1, 11): statement = '8 * ' + (str(i)) + ' = ' + str(8*i) + '\n' file.write(statement) file.close()
把所有的写行file.write("8*",i,"=",inputf,"\\n")
一行: file.write("8*",i,"=",inputf,"\\n")
open("table.txt", "w").write("\n".join([f'8 * {i} = {8 * i}' for i in range(1, 11)]))
这是最短的方式,但这是非常糟糕的方式:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.