0117 – Creare Număr1
Sursa: CreareNumar1
Cerinţă[edit | edit source]
Se dă un șir cu n
elemente întregi. Să se afișeze numărul obținut prin concatenarea numărului de valoare maximă și a celui de valoare minimă, în această ordine.
Date de intrare[edit | edit source]
Programul va citi de la tastatură o valoare n
, urmată de n numere naturale.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele introduse sunt corecte!", apoi se va afișa numărul obținut prin concatenarea celei mai mari și a celei mai mici valori din vector. În cazul în care datele nu respectă restricțiile, se va afișa mesajul "Datele introduse nu sunt corecte!".
Restricţii şi precizări[edit | edit source]
- 1 <= n <= 100
Exemple[edit | edit source]
Exemplul 1[edit | edit source]
- Intrare
- Introduceti numarul de elemente: 10
- Introduceti 10 numere separate prin spatiu:12 1 12 1231 123 1 2 31 12 1
- Ieșire
- Datele introduse sunt corecte!
- 12311
Exemplul 2[edit | edit source]
- Intrare
- Introduceti numarul de elemente: 134
- Ieșire
- Datele introduse sunt incorecte!
Exemplul 3[edit | edit source]
- Intrare
- Introduceti numarul de elemente: 5
- Introduceti 5 numere de maxim 4 cifre separate prin spatiu:12342 12 21 sa
- Ieșire
- Datele introduse sunt incorecte!
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1"> def is_integer(value):
return value.isdigit()
def verificare_nr_elemente(n):
if is_integer(n): if 1 <= int(n) <= 100: return n else: print("Datele introduse sunt incorecte!") exit() else: print("Datele introduse sunt incorecte!") exit()
def verificare_vector(n, vector):
if len(vector) != int(n): print("Datele introduse sunt incorecte!") exit() else: for i in vector: if is_integer(i): if int(i) <= 10000: continue else: print("Datele introduse sunt incorecte!") exit() else: print("Datele introduse sunt incorecte!") exit()
def concatenare(sir):
minim = 100000 maxim = 0 for elem in sir: if elem < minim: minim = elem if elem > maxim: maxim = elem print(str(maxim)+str(minim))
if __name__ == '__main__':
n = input("Introduceti numarul de elemente: ") verificare_nr_elemente(n) elem = input(f"Introduceti {n} numere separate prin spatiu:").split() verificare_vector(n, elem) lst_int = list(map(int, elem)) print("Datele introduse sunt corecte!") concatenare(lst_int)
</syntaxhighlight>
Explicație rezolvare[edit | edit source]
Acest program preia un număr n
de elemente și n
numere separate prin spațiu. Apoi, el găsește cel mai mic și cel mai mare număr dintre acestea și le concatenează pentru a forma un nou număr. Programul verifică și validează datele introduse înainte de a efectua operațiunea de concatenare.
is_integer(value)
: Verifică dacă valoarea introdusă este un număr întreg.verificare_nr_elemente(n)
: Verifică dacăn
este un număr întreg între 1 și 100. Dacă nu, programul se oprește.verificare_vector(n, vector)
: Verifică dacă lungimea vectorului este egală cun
și dacă toate elementele din vector sunt numere întregi mai mici sau egale cu 10000. Dacă nu, programul se oprește.concatenare(sir)
: Găsește minimul și maximul din listasir
și le concatenează într-un singur număr. Afișează numărul rezultat.
În secțiunea if __name__ == '__main__'
, programul execută următoarele acțiuni:
- Preia numărul
n
de elemente de la utilizator și verifică dacă este valid. - Preia
n
numere de la utilizator, separate prin spațiu, și verifică dacă sunt valide. - Convertește elementele în numere întregi și le stochează în lista
lst_int
. - Afișează un mesaj care indică faptul că datele introduse sunt corecte.
- Apelează funcția
concatenare(lst_int)
pentru a găsi și afișa numărul rezultat din concatenarea minimului și maximului din listalst_int
.