Python 在字符串行被拆分后,是否将字符串转换为整数?
在尝试将Python 在字符串行被拆分后,是否将字符串转换为整数?,python,Python,在尝试将intIncome转换为int时,我不断收到消息int对象不可编辑(行拆分会自动将其转换为字符串)。提前感谢您的帮助 您的错误是使用参数Income调用sum收入已经是一个整数,所以只需打印它: import math def main(): StrFileName = input('Enter a File') inFile = open(StrFileName, 'r') intLines = 0 for i in open(StrFileName
intIncome
转换为int
时,我不断收到消息int对象不可编辑(行拆分会自动将其转换为字符串)。提前感谢您的帮助 您的错误是使用参数Income
调用sum
<代码>收入
已经是一个整数,所以只需打印它:
import math
def main():
StrFileName = input('Enter a File')
inFile = open(StrFileName, 'r')
intLines = 0
for i in open(StrFileName, 'r'):
intLines = intLines + 1
intTotalLines = intLines
intID = 0
intAmt = 0
intIncome = 0
State = 0
for i in range(intTotalLines):
line = inFile.readline()
intID, intAmt, intIncome, State = line.split()
Line = [intID, intAmt, intIncome, State]
Income = int(intIncome)
print(sum(Income))
main()
如果您试图从每一行中获得收入的总和,您可以构建一个列表并将其相加,或者保持一个连续的总和,如:
print(Income)
我用变量命名的例子编辑了你的代码,你不应该使用大写的变量名,int\u lines+=1
是int\u lines=int\u lines+1
的缩写
我删除了一些未被使用的变量,但我只是想向您展示一些样式提示,使代码更具可读性,并与保持一致。我还建议重写它,这样文件就不会一次打开两次。我真的不知道那样会发生什么。
totalIncome = 0
for i in range(intTotalLines):
line = inFile.readline()
intID, intAmt, intIncome, state = line.split()
totalIncome += int(intIncome)
print(totalIncome)
def main():
str_file_name = input("Enter a File")
with open(str_file_name, 'r') as in_file: # use with to open your files as it closes them automatically
int_lines = 0
for i in open(str_file_name, 'r'):
int_lines += 1
int_total_lines = int_lines
for i in range(int_total_lines):
lines = in_file.readline()
int_id, int_amt, int_income, state = lines.split()
income = int(int_income)
print(income)
main()