这个错误提示是因为在尝试将字符串转换为浮点数时出现了错误。根据错误提示,可以看到字符串中包含逗号,而 Python 默认不支持使用逗号作为千位分隔符。
解决这个问题的方法有很多种,一种简单的方法是在读取文件时先将逗号替换为空格,然后再进行转换。修改代码如下:
```python
filename = input("请输入要打开的文件名:")
try:
with open(filename, encoding='gb18030') as f:
lines = f.readlines()
total = 0
count = 0
for line in lines:
try:
num = float(line.replace(',', ''))
total += num
count += 1
except ValueError:
pass
if count > 0:
avg = total / count
print("平均值为:{:.2f}".format(avg))
else:
print("文件中没有数字")
except FileNotFoundError:
print("文件不存在或无法打开")
except UnicodeDecodeError:
print("读取文件时出现解码错误")
```
这样就可以避免上述错误了。