问题:*将函数schrijfKwadraten(naam,N)写入每行具有指定名称的文件,写入一个整数,即正方形0 t.e.m. N ** 2 *
def schrijfKwadraten(text, N):
with open(text, 'w') as f:
for i in range(0, N+1):
f.write('%d'%(i*i))
我尝试多次编辑代码。什么都行不通。下面的代码给出了正确的列表,N = 10
print('%d'%(i*i))
0
1
4
9
16
25
36
49
64
81
100
当我使用时,f.write()
。当我拿N = 10时,Python给了我一个数字列表。这是错误的,因为10 * 10 = 100,而不是3!
1
1
1
1
2
2
2
2
2
2
3
控制编码,给我错误:
schrijfKwadraten('TestKwadraten.txt', 10)
with open('TestKwadraten.txt', 'r') as infile:
l = [int(i) for i in infile]
assert l == [i*i for i in range(11)],'Fout in schrijfKwadraten()'
print('Correct !')
任何人都可以帮助我吗?非常感谢!
答案 0 :(得分:0)
你的代码在Python 3中非常适合我。但是为了获得所需的输出,我必须添加一个换行符'\ n'。最好使用string.format()语法,如下所示。
def schrijfKwadraten(text, N):
with open(text, 'w') as f:
for i in range(0, N+1):
f.write('{}\n'.format(i**2))
#f.write('%d\n'%(i*i))
schrijfKwadraten("hello.txt", 10)