2603 - Prima Cifră A Părții Zecimale: Difference between revisions
Pagină nouă: == 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 cer... |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 7: | Line 7: | ||
În următorul rând se va afișa pe ecran cifra cerută. | Î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 " | Î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 == | == Restricții și precizări == | ||
* 1 ⩽ '''nr_real''' ⩽ 1000 | * 1 ⩽ '''nr_real''' ⩽ 1000 | ||
Line 26: | Line 26: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# 2603 - primacifraapartiizecimale | # 2603 - primacifraapartiizecimale | ||
def | def validare(nr_real): | ||
# Daca datele sunt invalide v-om face raise la eroarea ValueError | |||
if nr_real >= 1 and nr_real <= 1000: | 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__': | if __name__ == '__main__': | ||
prima_cifra_a_partii_zecimale() | # 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> | </syntaxhighlight> |
Latest revision as of 11:08, 23 May 2023
Cerința[edit | edit source]
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[edit | edit source]
Programul citește de la tastatură numărul nr_real.
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 cifra cerută.
Î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]
- 1 ⩽ nr_real ⩽ 1000
Exemplu 1[edit | edit source]
- Intrare
- 123.45
- Ieșire
- Datele de intrare corespund restricțiilor impuse
- 4
Exemplu 2[edit | edit source]
- Intrare
- 1001.1
- Ieșire
- Nu au fost respectate cerintele impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 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>