gpt4 book ai didi

python - Python 中的文件处理 - Float > Str 错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:55:09 24 4
gpt4 key购买 nike

我正在用 Python 编写一个骰子游戏,在程序结束时,它将前 5 名得分写在不同的行中,玩家的名字在外部文件中。我已经将这段代码写在一个单独的文件中进行测试,但是当我运行它时出现以下错误:

    filename.write (var)
TypeError: must be str, not float

这是我的文件处理源代码。

L = [29.4, 29.2, 1.4, 2.9, 2.3]
print (L)
x = len (L)
filename = open ('Scores.txt','rt')
filename.close
if x == 5:
for i in range (0,5):
var = (L[i])
print(var)
filename.write (var)
filename.close

如果有人能提供帮助,将不胜感激:)

最佳答案

回答您的问题,并清理您的代码......

您可以使用 str() 运算符将项目转换为字符串。

filename.write(str(var))

此外,使用 with 命令打开文件被认为是标准且安全的。它为您处理异常,并自动关闭文件。

此外,迭代列表的索引被认为是非 Pythonic 的。最好执行 for item in list,这样您无需执行列表访问即可获得项目 (list[i])

所以,最后,一个更干净的版本应该是这样的:

L = [29.4, 29.2, 1.4, 2.9, 2.3]
print(L)
with open('Scores.txt','w') as filename:
for item in L[:5]: #For each item in the first 5 items
print(item)
filename.write(str(item))

关于python - Python 中的文件处理 - Float > Str 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56970653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com