比较不同数据类型的问题

Compare issues of different datatypes

我正在尝试解析文本文件 一个看起来像:

1;electrical engineer;0;90

2;mechanic;0;77

3;scientist;1;71

4;computers specialist;1;90

可以选择分隔所需的元素。下面是我的代码:

with open('employee.txt', 'r') as employee_list:
    for employee in employee_list.readlines():
        fields = employee.split(';')
        if fields[1] == 'electrical engineer' and fields[3] >= 60:
            print(fields)

但是我得到一个错误:

TypeError: '>=' not supported between instances of 'str' and 'int'

此外,如果我要去:

if fields[1] == 'electrical engineer':
    print(fields)

我的 'electrical engineer' 字符串 看起来像:

['1', 'electrical engineer', '0', '90\n']

而且我看到 fields[3] 是一个字符串元素,所以我正在尝试:

if fields[1] == 'electrical engineer' and int(fields[3] >= 60):
    print(fields)

但还是出现同样的错误

将不胜感激任何建议

split 方法 returns 字符串列表。 fields[3] 是一个字符串。您必须将其转换为 int。尝试:

int(fields[3].rstrip()) >= 60 

-- rstrip() 删除 \n 尾随