0617 - Piese: Difference between revisions
Benzar Ioan (talk | contribs) Pagină nouă: == Cerința == Într-un tărâm îndepărtat, un inginer auto trebuie să organizeze piese de schimb într-o fabrică. Piesele sunt aranjate într-o matrice pătratică, iar fiecare celulă a matricei reprezintă un tip de piesă. Inginerul trebuie să genereze această matrice și să afișeze piesele în ordinea dorită. == Date de intrare == Programul citește de la tastatură: Un număr întreg n reprezentând dimensiunea matricei pătratice (n x n). == Date de ieșire =... |
Benzar Ioan (talk | contribs) |
||
Line 34: | Line 34: | ||
def valideaza_dimensiune(n): | def valideaza_dimensiune(n): | ||
return 1 <= n <= | return 1 <= n <= 10 | ||
def genereaza_matrice(n): | def genereaza_matrice(n): | ||
matrice = [] | matrice = [] | ||
for i in range(n): | for i in range(n): | ||
rand = [random.randint( | rand = [random.randint(0, 10) for _ in range(n)] | ||
matrice.append(rand) | matrice.append(rand) | ||
return matrice | return matrice |
Revision as of 17:17, 2 June 2024
Cerința
Într-un tărâm îndepărtat, un inginer auto trebuie să organizeze piese de schimb într-o fabrică. Piesele sunt aranjate într-o matrice pătratică, iar fiecare celulă a matricei reprezintă un tip de piesă. Inginerul trebuie să genereze această matrice și să afișeze piesele în ordinea dorită.
Date de intrare
Programul citește de la tastatură:
Un număr întreg n reprezentând dimensiunea matricei pătratice (n x n).
Date de ieșire
Pe ecran se va afișa matricea generată, fiecare rând al matricei fiind pe o linie separată.
Restricții și precizări
- 1 ⩽ n ⩽ 1000
Valorile din matrice sunt numere întregi generate automat în intervalul [0, 10]
Exemplu 1
- Intrare
3
- Iesire
8 3 4
1 5 4
3 1 0
Exemplu 2
- Intrare
0
- Iesire
Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line> import random
def citeste_dimensiune():
try: n = int(input("Introduceți dimensiunea matricii pătratice (n): ")) return n except ValueError: return None
def valideaza_dimensiune(n):
return 1 <= n <= 10
def genereaza_matrice(n):
matrice = [] for i in range(n): rand = [random.randint(0, 10) for _ in range(n)] matrice.append(rand) return matrice
def afiseaza_matrice(matrice):
for rand in matrice: print(" ".join(map(str, rand)))
def main():
n = citeste_dimensiune() if n is None or not valideaza_dimensiune(n): print("Datele de intrare nu corespund restricțiilor impuse.") return print("Datele de intrare corespund restricțiilor impuse.") matrice = genereaza_matrice(n) afiseaza_matrice(matrice)
if __name__ == "__main__":
main()
</syntaxhighlight>