s=0 fo = open(‘file.txt’,’w+’) for i in range(1,10): fo.write(str[i]) fo.seek(0) ls = fo.read() fo.close() for x in ls: s+=int(x) if int(x)%2 else 0 print(‘输出:{:d}’.format(s))
时间: 2024-02-18 16:04:58 浏览: 94
怎么用python读取cifar10数据集.docx
3星 · 编辑精心推荐
这段代码存在一些问题。首先,应该将 "str[i]" 改为 "str(i)",因为 "str" 是一个函数,而不是一个列表。其次,在写入文件之前,应该将文件内部的内容清空。最后,应该将 "fo.close()" 放在循环外部,因为在每次循环之后,文件都会被关闭,无法再次写入。
修改后的代码应该是这样的:
```
s = 0
fo = open('file.txt', 'w+')
fo.truncate(0) # 清空文件
for i in range(1, 10):
fo.write(str(i))
fo.seek(0)
ls = fo.read()
for x in ls:
s += int(x) if int(x) % 2 else 0
print('输出:{:d}'.format(s))
fo.close() # 放在循环外部
```
阅读全文