Файл итерации с Python 3
Есть ли у вас какие-либо предложения для этого сценария?
file.txt:
17
1
11
1
13
15
11
5
7
21
19
17
13
19
11
7
1
3
5
3
11
9
7
15
13
21
19
17
27
25
23
9001
9003
9023
9044
9055
9007
Код:
l2=[]
with open("file.txt") as f:
data = f.read()
l1 = list(data.split('\n'))
for item in l1:
if item>=9000:
l2.append(item)
else:
item = item+9000
l2.append(item)
print(l2)
Ошибка:
if item>=9000:
TypeError: '>=' not supported between instances of 'str' and 'int'
1 ответ
Решение
Поскольку item
находится в текстовом файле, это строка, вы должны преобразовать его в int
перед сравнением:
for item in l1:
if item.isdigit(): # if it is a number
item = int(item) # convert it to int
if item>=9000:
l2.append(item)
else:
item = item+9000
l2.append(item)
else: # not a number
# do something