Exerciții diverse
Toate exercițiile de mai jos pot fi rezolvate în fișiere separate sau într-o singură foaie Jupyter.
De asemenea, datele se pot prelua de la tastatură sau dintr-un fișier sau, unde este cazul, se pot genera aleatoriu.
Calcule și elemente de bază Python
Se dă un număr de maximum 10 cifre. Să se obțină numărul format prin eliminarea cifrelor de pe poziții impare. Exemplu:
input = 12345678, output = 2468.Se dă un număr de maximum 10 cifre. Să se obțină răsturnatul lui. Exemplu:
input = 12799874, output = 47899721.Se dă un număr de maximum 10 cifre. Să se verifice dacă este divizibil cu suma divizorilor săi. Exemplu:
input = 100, suma divizorilor = 1 + 2 + 4 + 5 + 10 + 20 + 25 + 50 = 117, 100 nu este divizibil cu 117.Se dau două numere de maximum 5 cifre fiecare. Să se obțină numărul obținut prin întrepătrunderea cifrelor lor. Exemplu:
a = 12345, b = 24680, output = 1224364850.Se citește de la tastatură un număr. Dacă acesta este par, se înjumătățește. Dacă este impar, se înmulțește cu 3 și se adună 1. Procedura se repetă pînă se ajunge la 1. Afișați acești pași. Exemplu:
input = 20, output = 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1.Se dau două numere naturale. Să se afișeze lista multiplilor primului număr, strict mai mici decît cel de-al doilea. Exemplu:
a = 20, b = 200, output = 20 40 60 80 100 120 140 160 180.Se dă un număr de maximum 10 cifre. Să se afișeze dacă prima cifră a numărului este un divizor al ultimei cifre. Exemplu:
input = 343489889, "da", deoarece 3 divide 9.Se dă un număr
xde maximum 10 cifre și un indicen. Să afișeze an-a cifră de la stînga a luix. Exemplu:x = 128907478, n = 3, output = 8.Se dă un număr
xde maximum 10 cifre și un indicen. Să se afișeze numărul format din an-a cifră de la stînga și an-a cifră de la dreapta ale luix, în această ordine. Exemplu:x = 127987987, n = 3, output = 79.Se dă un număr
xde maximum 10 cifre. Să se afișeze toți divizorii săi primi. Exemplu:x = 100, output = 2, 5.Se dă un număr
xde maximum 10 cifre. Să se afișeze toți divizorii săi primi, cu tot cu puterea la care apar în descompunerea numărului. Exemplu:x = 100, output = (2, 2) (5, 2), pentru că100 = 2^2 * 5^2.Se dă un număr
nde la tastatură. Să se afișeze divizorii lui și numărul lor. Exemplu:n = 20, se afișează1, 2, 4, 5, 10, 20și6 divizori.Se dă un număr
nde la tastatură. Să se afișeze dacă este pătrat perfect. Exemplu:n = 169, se afișeazăda.Se dă un număr
nde la tastatură. Să se afișeze dacă este prim (nu are alți divizori în afară de 1 și el însuși). Exemplu:n = 13, se afișeazăda,n = 20, se afișeazănu.Se dau două numere
bazașiexponentde la tastatură. Să se afișezebazala putereaexponent. Exemplu:baza = 3,exponent = 4, se afișează81.Se dau două numere
nșip. Să se afișeze cel mai mare multiplu al luin, mai mic sau egal cup. Exemplu:n = 3, p = 20, se afișează18.Se dau două numere de la tastatură. Să se afișeze divizorii lor comuni. Exemplu:
n = 20, m = 12, se afișează1, 2, 4.Se dau două numere de la tastatură. Să se afișeze divizorii primi ai primului număr, care nu sînt și divizori ai celui de-al doilea număr. Exemplu:
n = 28, m = 30, se afișează7.Se dă un număr
nde la tastatură și o listă dennumere naturale. Să se afișeze numărul din listă care are cei mai mulți divizori primi. Exemplu:n = 5, [10, 20, 30, 40, 50], se afișează30.Se dă un număr
nde la tastatură. Să se afișeze toate numerele prime mai mici sau egale cun. Exemplu:n = 20, se afișează2, 3, 5, 7, 11, 13, 17, 19.Se dă un număr
nde la tastatură. Să se afișeze suma divizorilor săi, precum și lista divizorilor acestei sume. Exemplu:n = 20, se afișeazăSuma divizorilor: 1 + 2 + 4 + 5 + 10 + 20 = 42și[1, 2, 3, 6, 7, 14, 21, 42].Se dă un număr
nde la tastatură, o listă dennumere naturale și un număr primp. Să se afișeze care elemente ale listei sînt divizibile cup. Atenție: Dacă numărulpintrodus de la tastatură nu este prim, se afișează un mesaj și programul se închide. Exemplu:n = 5, lista = [10, 20, 30, 40, 50], p = 3. Se afișează30. Dacăn = 5, lista = [10, 20, 30, 40, 50], p = 6, se afișeazăEROARE: reîncercați cu un număr prim!.Se dă un număr
nde la tastatură și un numărp, prim. Să se afișeze dacă suma cifrelor luineste divizibilă cup. Ca în exemplul anterior, dacăpnu este prim, se afișeazăEROARE. Exemplu:n = 1222, p = 7, se afișeazăDA. Dacăn = 1234442, p = 10, se afișeazăEROARE: Reîncercați cu un număr prim!.Se dă un număr
nde la tastatură. Să se afișeze cel mai mare divizor prim al său. Exemplu:n = 100, se afișează5.Se dă un număr
nde la tastatură și o listă dennumere naturale. Să se afișeze lista cu numărul divizorilor lor. Exemplu:n = 5, lista = [10, 20, 30, 40, 50], se afișează[4, 6, 7, 8, 6].Se dau două numere
nșimde la tastatură. Să se afișeze cîte numere prime există întrenșim, precum și lista acestora. Exemplu:n = 10, m = 20, se afișează[11, 13, 17, 19]și4 numere prime.
Statistică și CSV
Alegeți două numere aleatorii folosind
a = random.randint(100,1000)șib = random.randint(10,100). Apoi generațibliste cu cîteaelemente. Scrieți listele drept linii într-un fișier CSV (folosindcsv.writer).În continuarea exercițiului 27, generați un număr aleator de forma
c = random.randint(0, b). Calculați diverse elemente statistice pentru elementele linieicși coloaneic(dacă linia respectivă nu există, considerațic = c % a):media;
media ponderată (generînd aleatoriu ponderi între 0 și 1 folosind
random.random());mediana;
modul;
abaterea medie pătratică.
Generați aleatoriu 100 de liste cu 6 numere naturale între 1 și 49, simulînd 100 de bilete la loteria 6/49. Scrieți "biletele" într-un fișier CSV. Generați aleatoriu o extragere (6 numere naturale între 1 și 49) și scrieți care bilet(e) a(u) ghicit cele mai multe numere și care sînt acestea.
Scrieți (de mînă) un fișier CSV care să reprezinte notele unor elevi. Includeți cel puțin 10 elevi, fiecare avînd cel puțin 5 note.
Calculați media (aritmetică a) fiecărui elev și media clasei.
Refaceți exercițiul dacă ultima notă reprezintă teza, care are o pondere de 3 ori mai mare decît o notă obișnuită.
Grafice discrete
În continuarea exercițiului 30, reprezentați grafic:
folosind histograme sau bar chart notele din clasă (OX = nota, OY = de cîte ori a fost obținută).
BONUS1: Reprezentați cu o linie orizontală, peste histogramă, media clasei;
BONUS2: Schimbați setările default de culoare și opacitate. Exemplu: barele din histogramă sau bar chart să fie verzi, opacitate 0.6, orizontala să fie roșie, opacitate 1.
folosind pie chart, distribuția notelor din clasă, pe intervale (0-4, 5-7, 7-9, 10) (cîte note între 0-4 s-au obținut, cîte note între 5-7 etc.).
BONUS1: "Explodați" graficul pentru procentul cel mai mare.
BONUS2: Schimbați setările default de culoare. Exemplu: "feliile" graficului să fie toate nuanțe de albastru.
(*) folosind scatter plot, distribuția notelor din clasă (OX = nota, OY = de cîte ori a fost obținută) și includeți ca best fit clopotul lui Gauss (indicație sau aici).
BONUS: Schimbați setările default de aspect. Exemplu: punctele din scatter plot să fie romburi mov, de opacitate 0.7, iar distribuția gaussiană să fie trasată cu o linie oranj, de opacitate 1.
Last updated