Файл итерации с 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
Другие вопросы по тегам