2603 - Prima Cifră A Părții Zecimale

From Bitnami MediaWiki
Revision as of 02:52, 10 May 2023 by Adrian (talk | contribs)

Cerința

Scrieți un program care cere de la tastatură un număr real și care afișează prima cifră care se află după virgulă în valoarea citită.

Date de intrare

Programul citește de la tastatură numărul nr_real.

Date de ieșire

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 cifra cerută.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse".

Restricții și precizări

  • 1 ⩽ nr_real ⩽ 1000

Exemplu 1

Intrare
123.45
Ieșire
Datele de intrare corespund restricțiilor impuse
4


Exemplu 2

Intrare
1001.1
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 2603 - primacifraapartiizecimale

def validare(nr_real):

   # Daca datele sunt invalide v-om face raise la eroarea ValueError
   if not (nr_real >= 1 and nr_real <= 1000):
       raise ValueError


def prima_cifra_a_partii_zecimale(nr_real):

   # Inmultim nr_real cu zece ca prima cifra a partii zecimala sa
   # fie inainte de virgula
   # Convertim numarul in int() ca sa scapam de cifrele zecimale
   # si dupa facem % 10 ca sa aflam ultima cifra
   # (aceasta fiind prima cifra zecimala)
   print(int(nr_real * 10) % 10)


if __name__ == '__main__':

   # Citim de la tastatura numerele cerute
   nr_real = float(input())
   # Verificam daca datele introduse sunt valide
   # daca nu afisam mesajul corespunsador
   try:
       validare(nr_real)
   except ValueError:
       print("Nu au fost respectate cerintele impuse")
   else:
       print("Datele de intrare corespund restricțiilor impuse")
       prima_cifra_a_partii_zecimale(nr_real)

</syntaxhighlight>