2764 - Inverted Color
Cerința[edit | edit source]
Orice culoare poate fi reprezentată drept o combinație de intensități de roșu (RED), verde (GREEN) și albastru (BLUE). Calculatorul tău folosește, cel mai probabil, culori reprezentate pe 24 de biți, câte 8 rezervați fiecăreia dintre cele trei culori anterior menționate.
Definim opusul unei culori (rosu, verde, albastru) ca fiind (255 – rosu, 255 – verde, 255 – albastru).
Dându-se o culoare, scrieți opusul acesteia.
Date de intrare[edit | edit source]
Programul citește de la tastatură trei numere naturale, rosu, verde și albastru.
Date de ieșire[edit | edit source]
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse.". În următorul rând se va afișa pe ecran numărul numerele rosu_opus, verde_opus și albastru_opus, astfel încât acestea să reprezinte o culoare opusă celei inițiale.
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".
Restricții și precizări[edit | edit source]
- 0 ⩽ rosu, verde, albastru ⩽ 255
Exemplu 1[edit | edit source]
- Intrare
- 0
- 92
- 254
- Ieșire
- Datele de intrare corespund restricțiilor impuse
- 255 163 1
Exemplu 2[edit | edit source]
- Intrare
- 0
- 100
- 256
- Ieșire
- Nu au fost respectate cerintele impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 2764 - InvertedColor
def validare(rosu, verde, albastru):
# Daca datele sunt invalide v-om face raise la eroarea ValueError
conditii = ( rosu >= 0, rosu <= 255, verde >= 0, verde <= 255, albastru >= 0, albastru <= 255 )
if not all(conditii): raise ValueError
def inverted_color(rosu, verde, albastru):
# Pentru a afla opusul unei culeri v-om face 255 - rosu, verde si albastru rosu_opus = 255 - rosu verde_opus = 255 - verde albastru_opus = 255 - albastru
print(f"{rosu_opus} {verde_opus} {albastru_opus}")
if __name__ == '__main__':
rosu = int(input()) verde = int(input()) albastru = int(input())
# Verificam daca datele introduse sunt valide # daca nu afisam mesajul corespunsador try: validare(rosu, verde, albastru) except ValueError: print("Nu au fost respectate cerintele impuse") else: print("Datele de intrare corespund restricțiilor impuse")
inverted_color(rosu, verde, albastru)
</syntaxhighlight>