Files

4.2 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5e44412c903586ffb414c94c Formattatore aritmetico 10 462359 arithmetic-formatter

--description--

Lavorerari a questo progetto con il nostro codice d'inizio su Replit.

Stiamo ancora sviluppando la parte didattica interattiva del curriculum di Python. Per ora, ecco alcuni video sul canale YouTube di freeCodeCamp.org che ti insegneranno tutto quello che devi sapere per completare questo progetto:

--instructions--

Gli studenti delle elementari spesso scrivono l problemi aritmetici in colonna per risolverli più facilmente. Per esempio, "235 + 52" diventa:

  235
+  52
-----

Crea una funzione che riceve una lista di stringhe che sono problemi aritmetici e restituisce i problemi disposti verticalmente e fianco a fianco. La funzione dovrebbe accettare un secondo argomento facoltativo. Quando il secondo argomento ha valore di True, devono essere mostrati anche i risultati.

Esempio

Chiamata della funzione:

arithmetic_arranger(["32 + 698", "3801 - 2", "45 + 43", "123 + 49"])

Output:

   32      3801      45      123
+ 698    -    2    + 43    +  49
-----    ------    ----    -----

Chiamata della funzione:

arithmetic_arranger(["32 + 8", "1 - 3801", "9999 + 9999", "523 - 49"], True)

Output:

  32         1      9999      523
+  8    - 3801    + 9999    -  49
----    ------    ------    -----
  40     -3800     19998      474

Regole

La funzione restituirà la conversione corretta se i problemi dati sono correttamente formattati, altrimenti, deve restituire una stringa che descrive un errore significativo per l'utente.

  • Situazioni che devono restituire un errore:
    • Se ci sono troppi problemi dati alla funzione. Il limite è cinque, più di ciò deve restiture: Error: Too many problems.
    • Gli operatori appropriati che la funzione accetterà sono addizione e sottrazione. Moltiplicazione e divisione devono dare un errore. Altri operatori non menzionati in questa lista non serve che vengano testati. L'errore restituito deve essere: Error: Operator must be '+' or '-'.
    • Ogni numero (operando) deve contenere solo cifre. Altrimenti, la funzione deve restituire: Error: Numbers must only contain digits.
    • Ogni operando (numero da ogni lato dell'operatore) ha una lunghezza di massimo 4 cirre. Altrimenti, la funzione deve restituire: Error: Numbers cannot be more than four digits.
  • Se l'utente ha dato i problemi nel formato corretto, la conversione che restituisci deve seguire le seguenti regole:
    • Ci deve essere un singolo spazio tra l'operatore e il più lungo dei due operandi, l'operatore deve essere sulla stessa riga del secondo operando, entrambi gli operandi devono essere nell'ordine dato (il primo in alto, il secondo in basso.
    • I numeri devono essere allineati a destra.
    • Devono esserci quattro spazi tra ogni problema.
    • Ci devono essere dei trattini sotto ogni problema. I trattini devono avere la stessa larghezza del singolo problema. (L'esempio sopra mostra come deve apparire.)

Sviluppo

Scrivi il tuo codice in arithmetic_arranger.py. Per lo sviluppo, puoi usare main.py per testare la tua funzione arithmetic_arranger(). Usa il bottone "run" e main.py eseguirà.

Testare

I test unitari per questo progetto sono in test_module.py. Stiamo eseguendo i test da test_module.py in main.py per la tua convenienza. I test eseguiranno automaticamente quando usi il bottone "run". In alternativa puoi eseguire i test eseguendo pytest nella console.

Consegnare

Copia l'URL del tuo progetto e consegnalo nell'input wua sotto.

--hints--

Dovrebbe formattare correttamente un problema aritmetico e superare tutti i test.


--solutions--

/**
  Backend challenges don't need solutions,
  because they would need to be tested against a full working project.
  Please check our contributing guidelines to learn more.
*/