Как перебирать список и сравнивать в python

#python

Вопрос:

Здесь у меня есть список целых чисел следующим образом.

 print(result)  ['0', '0', '1', '0', '88', '38', '45', '1', '22', '25', '19', '32', '1', '34', '']  

У меня есть три порога, чтобы проверить, достигло ли каждое число определенного уровня или нет. Пороговые значения следующие.

 T1=85; T2=80; T3=75;  

Я ищу, чтобы создать код, но я не уверен, с чего начать.Вот моя попытка.

 for (int i = 0, i lt; result.size(); i  ):  prctVal=result[i]  if prctVal gt; T1:  risk = "high" ;    elif prctVal lt; T3:  risk = "minor"    else T3lt;practvallt;T2:  risk = "major"  print(risk)  

Я заканчиваю с синтаксической ошибкой.Может ли кто-нибудь помочь мне разобраться в этом вопросе?Я новичок в python.

Комментарии:

1. используйте len(result) вместо .size() , потому что этого не существует

2. for (int i = 0, i lt; result.size(); i ): Это недопустимый Python. Например, в Python нет оператора …

3. о, подожди, это еще не все. for i in range(len(result)):

4. или просто можете просто перебирать сами элементы: for i in result

5. else T3lt;practvallt;T2: Не должно быть никаких условий ни на else том, ни на другом

Ответ №1:

Чтобы перебирать значения в списке, просто сделайте for VAL in LIST это . Не обязательно иметь отдельную переменную для итерации по индексу.

Поскольку значения в вашем списке являются строками, вам необходимо преобразовать их с int помощью функции.

 for s in result:  i = int(s)  if i gt; T1:  risk = "high"  elif i gt; T2:  risk = "major"  elif i gt; T3:  risk = "minor"  else:  risk = None  print(risk)  

Ответ №2:

Все элементы result списка должны быть целочисленными (не строковыми)

Это питон. не является c#,java или другими языками. его синтаксис отличается

 result = [0, 0, 1, 0, 88, 38, 45, 1, 22, 25, 19, 32, 1, 34]  T1 = 85 T2 = 80 T3 = 75  for prctVal in result:    if prctVal gt; T1:  risk = "high"    elif prctVal lt; T3:  risk = "minor"    elif T3 lt;= prctVal lt;= T2:  risk = "major"     print(prctVal, risk)  

Ответ №3:

вы смешиваете синтаксис python с c то, что вы хотите, можно сделать, как показано ниже:

 for prctVal in result:  prctVal = int(prctVal)  if prctVal gt; T1:  risk = "high"    elif prctVal lt; T3:  risk = "minor"    else T3lt;practvallt;T2:  risk = "major"    print(prctVal, ":", risk)