Pętla if dla przedziału

Pętla if dla przedziału
A1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Witam, chciałbym wykonać pętlę if dla zakresu (4, 8), w którym znajdują się znaki '-'.
Próbowałem zrobić to w ten sposób:

Kopiuj
seq = ["CATG----ACAGAGCGACCCGCG--CACGTTACAAACACTACGCGGGGTGGCCCCGG",
       "CATGCCCGACAGAGCGACCCGCG---ACGTTACAAACACTACG---GGTGGCCCCGG",
       "CATG----ACAGA---ACCCGCG--CACGTTACAAACACTACGCGGGGTGGCCCCGG"]
for x in seq:
    if '-' == x(4, 8):
        print(0)

Niestety ciągle otrzymuje błąd:

Kopiuj
if '-' == x(4, 8) in seq:

TypeError: 'str' object is not callable ```
nowyworek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: świat
  • Postów: 174
0

Zakres się dostaje za pomocą x[4:8].
A żeby sprawdzić, czy wszystkie równe „-„ sprawdź funkcje all i map

A1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Dziękuję bardzo. Mam jeszcze pytanie, czy jest możliwość, żeby ilość '-' automatycznie dostosowywała się do zakresu? Bo teraz jeśli dam zakres x[4:8] to muszę ręcznie wpisać '----'.

nowyworek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: świat
  • Postów: 174
0

Tak „-„*dlugosc_zakresu==zakres

A1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Dziękuję.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7057
0

Ładniej by było sprawdzać wyrażeniem regularnym.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.