Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Controllo dati in input

G
GiovanniQuadraroli (1230 points)
10 28 38
in Funzionamento degli homework by (1.2k points)
recategorized by
Nell'esercizio numero 1 del primo homework dobbiamo effettuare un controllo su i dati che ci vengono forniti in input oppure possiamo darli per sicuri?

Es. dobbiamo effettuare un controllo che il inserito k sia maggiore di zero o che ci venga fornita una lista come primo valore?
833 views
closed with the note: answered

3 Answers

Best answer
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
selected by
Se non viene detto esplicitamente, considerate i dati dei test corretti.

Quando avremo visto la gestione degli errori a lezione, allora negli homework vi diremo che eccezioni generare per input errati.
G
GiovanniQuadraroli (1230 points)
10 28 38
by (1.2k points)
Grazie mille per la risposta. Buona serata
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)

Ciao Giovanni!

Per quanto riguarda il controllo dei dati inseriti:

Scrivere una funzione modi(ls,k) che, presa una lista ls di interi  ed un intero non negativo k:
//code

Puoi assumere quindi che il numero k sia un numero naturale compreso tra 0 e + infinito, mentre per quanto riguarda i numeri che appartengono alla lista essi sono interi è vero, ma il concetto di numero primo risiede nei numeri naturali quindi non può esistere un numero negativo che è anche primo!

Spero di aver chiarito il tuo dubbio!
Ti auguro una buona giornata!

Leonardo Emili

G
GiovanniQuadraroli (1230 points)
10 28 38
by (1.2k points)
In realtà penso di aver posto male la domanda, dobbiamo inserire un controllo all'interno del programma il quale verifichi che i dati inseriti in input siano esatti? O possiamo dare per scontato che i nostri programmi verranno verificati solo con liste e numeri di k maggiori di 0?
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Il testo specifica chiaramente che k sarà un numero non negativo, puoi assumere dunque che k sia un numero naturale.
Per quanto riguarda i numeri presenti all'interno della lista il testo parla di numeri interi, dunque non esclude la possibilità che questi siano negativi, perciò ti consiglio di inserire un piccolo check all'interno del programma per non incappare in fastidiosi problemi. Purtroppo non posso essere troppo esplicito ma se ci ragioni bene vedrai che troverai sicuramente il modo per risolvere questo problema!! Spero di averti aiutato a capire meglio il problema :D
G
GiovanniQuadraroli (1230 points)
10 28 38
by (1.2k points)
Comunque ci verrà data una lista, non potrà mai capitare ad esempio che invece della lista si prova ad inserire una stringa
G
GiovanniQuadraroli (1230 points)
10 28 38
by (1.2k points)
I numeri negativi all'interno della lista come dobbiamo considerarli? Non è spiegato nella traccia, l'unica cosa che si sa è che i divisori considerati sono solo quelli positivi. ES. 70 ha 6 divisori tra gli interi positivi, 12 se si considerano anche i negativi. Scegliamo noi o ci verrà data una linea guida?
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Esatto ci verrà data una lista di interi, quindi non è necessario che tu controlli se questi sono numeri o meno! :)
I numeri negativi come ti ho detto già prima non possono essere primi quindi ti avevo suggerito di inserire un piccolo controllo perché il testo parla di interi, quindi la possibilità che tali numeri siano non positivi esiste
francesco.dev (33560 points)
22 51 129
by (33.6k points)
Buonasera Giovanni!
Qualche piccolissimo controllo conviene metterlo, come il controllo se i numeri sono positivi!
Perché dalla traccia si evince che k è positivo per definizione, ma gli altri numeri?
Quindi questo è un piccolo ma efficace controllo che ti aiuterà nel caso in cui il professore inserisca una lista con numeri negativi.

- Francesco Pio Scognamiglio
G
GiovanniQuadraroli (1230 points)
10 28 38
by (1.2k points)
Si ma non ci viene detto come lavorare con i numeri negativi quindi cosa dobbiamo fare? Eliminarli? Considerarli positivi?
francesco.dev (33560 points)
22 51 129
by (33.6k points)
Semplicemente li scarti!