Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
0359 - Gard
(section)
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Rezolvare == <syntaxhighlight lang="python" line> #0359 def validate(n, heights): if n < 1 or n > 1000: raise ValueError("Datele nu corespund restricțiilor impuse.") if len(heights) != n: raise ValueError("Datele nu corespund restricțiilor impuse.") for h in heights: if h < 0 or h > 100: raise ValueError("Datele nu corespund restricțiilor impuse.") print("Datele sunt introduse corect.") def calculate_needed_blocks(heights): max_height = max(heights) return sum(max_height - h for h in heights) if __name__ == '__main__': n = int(input("Introdu numărul de stâlpi: ")) heights = list(map(int, input("Introdu înălțimile stâlpilor, separate prin spații: ").split())) try: validate(n, heights) except ValueError as e: print(e) exit() needed_blocks = calculate_needed_blocks(heights) print("Numărul de blocuri necesare este:", needed_blocks) </syntaxhighlight> '''Explicatie cod:''' Acest cod implementează o funcție de validare a datelor de intrare, care primește un număr întreg n și o listă de întregi heights. Dacă n nu se află în intervalul [1, 1000] sau lungimea listei heights nu este egală cu n, sau oricare dintre valorile din heights se află în afara intervalului [0, 100], funcția aruncă o excepție ValueError cu un mesaj corespunzător. Dacă datele de intrare sunt validate cu succes, funcția afișează un mesaj de confirmare. Funcția calculate_needed_blocks primește lista heights și calculează numărul total de blocuri necesare pentru a egala înălțimea stâlpilor. Se determină înălțimea maximă a stâlpilor și se scade înălțimea fiecărui stâlp din această valoare maximă. Rezultatul reprezintă numărul de blocuri necesare. În blocul if __name__ == '__main__':, se citesc datele de intrare utilizând funcția input(), apoi se încearcă validarea lor folosind funcția validate. Dacă datele sunt validate cu succes, se calculează numărul de blocuri necesare utilizând funcția calculate_needed_blocks, apoi se afișează rezultatul. Dacă se aruncă o excepție ValueError în timpul validării, se afișează mesajul de eroare corespunzător și se oprește programul.
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width