0825 - CifMinRec: Difference between revisions
Catalin Moje (talk | contribs) mNo edit summary |
Catalin Moje (talk | contribs) No edit summary |
||
Line 20: | Line 20: | ||
==Rezolvare== | ==Rezolvare== | ||
def cifmin(numar): | def cifmin(numar): | ||
if not isinstance(numar, int): | |||
if numar | raise ValueError("Numărul trebuie să fie de tipul int.") | ||
if numar < 0 or numar >= 2000000000: | |||
raise ValueError("Numărul trebuie să fie mai mare sau egal cu 0 și mai mic decât 2.000.000.000.") | |||
if numar == 0: | |||
return 0 | |||
cifre = [] | |||
while numar > 0: | |||
cifre.append(numar % 10) | |||
numar //= 10 | |||
return min(cifre) | |||
def main(): | |||
print("Datele de intrare nu corespund restricțiilor impuse.") | try: | ||
numar = int(input("Introduceți un număr natural: ")) | |||
cifra_minima = cifmin(numar) | |||
print(f"Cifra minimă a numărului {numar} este {cifra_minima}.") | |||
except ValueError as ve: | |||
print(f"Datele de intrare nu corespund restricțiilor impuse. Mesaj de eroare: {ve}.") | |||
if __name__ == '__main__': | |||
main() |
Revision as of 09:33, 25 March 2023
Cerinţa
Să se scrie o python care să returneze cifra minimă a unui număr natural transmis ca parametru.
Date de intrare
Se va introduce de la tastatură un număr natural care va fi transmis ca perimetru
Date de ieșire
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." Î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
numele funcției va fi cifmin
funcția va avea un parametru reprezentând numărul dat
numărul pentru care se calculează cifra minimă va fi mai mic decât 2.000.000.000
Exemplu
cifmin(2050) este 0
.
cifmin(9782923251) este 0
.
Rezolvare
def cifmin(numar): if not isinstance(numar, int): raise ValueError("Numărul trebuie să fie de tipul int.") if numar < 0 or numar >= 2000000000: raise ValueError("Numărul trebuie să fie mai mare sau egal cu 0 și mai mic decât 2.000.000.000.") if numar == 0: return 0 cifre = [] while numar > 0: cifre.append(numar % 10) numar //= 10 return min(cifre) def main(): try: numar = int(input("Introduceți un număr natural: ")) cifra_minima = cifmin(numar) print(f"Cifra minimă a numărului {numar} este {cifra_minima}.") except ValueError as ve: print(f"Datele de intrare nu corespund restricțiilor impuse. Mesaj de eroare: {ve}.") if __name__ == '__main__': main()