从Python打印时出现Str/Int类型错误
我正在尝试将字符串数组中的一些结果写入文件。这个列表是包含数字的字符串,我想除以1000。如果我将结果转换保存到一个变量,我可以将其打印到一个文件中。但是,如果我尝试在一行中执行相同的操作,则会出现以下错误:从Python打印时出现Str/Int类型错误,python,Python,我正在尝试将字符串数组中的一些结果写入文件。这个列表是包含数字的字符串,我想除以1000。如果我将结果转换保存到一个变量,我可以将其打印到一个文件中。但是,如果我尝试在一行中执行相同的操作,则会出现以下错误: TypeError: unsupported operand type(s) for /: 'str' and 'int' 知道发生了什么吗?以下是我的代码的简化版本: str_list = ['45000', '45500', '50000', '55000'] indx = 2 o
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)
显然,短期的解决办法是使用第一种语法,但我想了解发生了什么以及为什么第二种语法不起作用 您只需在
浮动(str_list[indx])/1000
部分周围加上括号即可
o.write('%4.1f\t' % (float(str_list[indx])/1000))
否则,程序将尝试将字符串除以
1000
您只需在浮点(str_list[indx])/1000部分周围放上括号即可
o.write('%4.1f\t' % (float(str_list[indx])/1000))
否则,程序将尝试将字符串除以1000
首先计算%
:
o.write('%4.1f\t' % float(str_list[indx])/1000)
类似于(注意括号):
你想要:
o.write('%4.1f\t' % (float(str_list[indx])/1000))
首先计算%
:
o.write('%4.1f\t' % float(str_list[indx])/1000)
类似于(注意括号):
你想要:
o.write('%4.1f\t' % (float(str_list[indx])/1000))
啊,这是有道理的。谢谢啊,这是有道理的。谢谢