Skip to main content
 首页 » 编程设计

python之从 Python 打印时出现 Str/Int 类型错误

2025年05月04日29xing901022

我正在尝试将字符串数组的一些结果写入文件。该列表是实际包含数字的字符串,我想将其除以 1000。如果我将转换结果保存到一个变量,我可以毫无问题地将它打印到一个文件中。但是,如果我尝试在一行中执行完全相同的操作,则会出现以下错误:

TypeError: unsupported operand type(s) for /: 'str' and 'int' 

知道发生了什么事吗?这是我的代码的简化版本:

str_list = ['45000', '45500', '50000', '55000'] 
indx = 2 
 
o = open('Output_file.dat', 'w') 

这有效....

x = float(str_list[indx])/1000 
o.write('%4.1f\t' % x) 

这不是

o.write('%4.1f\t' % float(str_list[indx])/1000) 

明显的短期解决方法是使用第一种语法,但我想了解发生了什么以及为什么第二种语法不起作用。

请您参考如下方法:

你只需要在 float(str_list[indx])/1000 部分加上括号

o.write('%4.1f\t' % (float(str_list[indx])/1000)) 

否则程序将尝试将字符串除以1000