← Catalogo
INI3Python Village
PyJS

Strings and Lists

Python Village - non fa parte del sistema di Topics ufficiale di Rosalind (riservato a Bioinformatics Stronghold/Armory).

Pagina originale su rosalind.info

Descrizione

Esercizio introduttivo su liste e slicing di stringhe in Python (indicizzazione 0-based, slicing con notazione s[a:b], indici negativi).

Given

Una stringa s di lunghezza massima 200 caratteri e quattro interi a, b, c, d.

Return

Lo slice di questa stringa dagli indici a a b e da c a d (con uno spazio tra i due), in modo inclusivo (cioè includendo anche gli elementi s[b] e s[d]).

Sample Dataset

HumptyDumptysatonawallHumptyDumptyhadagreatfallAlltheKingshorsesandalltheKingsmenCouldntputHumptyDumptyinhisplaceagain.
22 27 97 102

Sample Output

Humpty Dumpty

La mia esecuzione

08/24/2026 11:24:47

Input · dataset.txt

82ewDkUb0Rhflw3IYzZkN1PXFgh9yutPcN4M8yYjzOeIGyaq3xn7VbUw7m6hy5qQSQ9g6NEl7nqwcWtKvdpiScbZaKWCapreolusKDdIi3jOaWqmgLAni1LMX8RxpDwAr24XY8YXaKIDol59JLwXuxeB0xfrHANZXLjK0hx7J02v5qmUQUmykissT.
91 99 178 183

Output · run_log.txt

OK
Capreolus mykiss

Esegui nel browser · Pyodide

Mostra il codice sorgente (problem.py)
filename = "dataset.txt"
current = 0
stringa = ""
a, b, c, d = 0, 0, 0, 0
with open(filename) as f:
    for riga in f:
        if current == 0:
           stringa = riga
           current += 1
        elif current == 1:
           lista = riga.split(" ")
           a, b, c, d = int(lista[0]), int(lista[1]), int(lista[2]), int(lista[3])
           current += 1
        elif current == 2:
           break   
#print(stringa)
#print(a, b, c, d)
output = f"{stringa[a:b+1]} {stringa[c:d+1]}"
print(output)

Soluzione JavaScript

Esegui ora, live

Mostra il codice sorgente
// ini3 - esercizio introduttivo "Python Village": data una stringa e
// quattro interi a b c d, restituisce le due sottostringhe [a, b] e
// [c, d] (indici inclusivi, 0-based) separate da uno spazio. Soluzione
// JavaScript indipendente, non una trascrizione di problem.py, riscritta
// in modo idiomatico per JS.
//
// Contratto: riceve il contenuto testuale di dataset.txt, restituisce
// l'output testuale (stessa forma dell'output Python).
export default function solve(datasetText) {
  const righe = datasetText.split("\n");
  const stringa = righe[0]?.replace(/\r$/, "") ?? "";
  const parti = (righe[1] ?? "").trim().split(/\s+/);

  if (!stringa || parti.length !== 4 || parti.some((p) => !/^\d+$/.test(p))) {
    throw new Error("Input non valido: attese una stringa e quattro interi a b c d");
  }

  const [a, b, c, d] = parti.map(Number);
  return `${stringa.slice(a, b + 1)} ${stringa.slice(c, d + 1)}\n`;
}