0824 - CifMaxRec: Difference between revisions
Catalin Moje (talk | contribs) mNo edit summary |
Catalin Moje (talk | contribs) No edit summary |
||
Line 22: | Line 22: | ||
==Rezolvare== | ==Rezolvare== | ||
def validare_numar(numar): | |||
def | if isinstance(numar, int) and numar < 2000000000: | ||
if numar | return True | ||
return False | |||
def cifra_maxima(numar, cifra_max=0): | |||
if numar < 10: | |||
if numar > cifra_max: | |||
cifra_max = numar | |||
return cifra_max | |||
else: | else: | ||
cifra_curenta = numar % 10 | |||
if cifra_curenta > cifra_max: | |||
cifra_max = cifra_curenta | |||
return cifra_maxima(numar // 10, cifra_max) | |||
def main(): | |||
numar = input("Introduceti un numar: ") | |||
if validare_numar(numar): | |||
cifra_max = cifra_maxima(numar) | |||
print(f"Cifra maxima a numarului {numar} este {cifra_max}.") | |||
else: | |||
print("Numarul introdus nu este valid.") | |||
if __name__ == '__main__': | |||
main() |
Revision as of 09:19, 25 March 2023
Cerința
Să se scrie o funcție python care să returneze cifra maximă 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
cifmax
- funcția va avea un parametru reprezentând numărul dat
- numărul pentru care se calculează cifra maximă va fi mai mic decât
2.000.000.000
Exemplu
cifmax(2050)
este 5
cifmax(209074536153)
este 9
Rezolvare
def validare_numar(numar): if isinstance(numar, int) and numar < 2000000000: return True return False def cifra_maxima(numar, cifra_max=0): if numar < 10: if numar > cifra_max: cifra_max = numar return cifra_max else: cifra_curenta = numar % 10 if cifra_curenta > cifra_max: cifra_max = cifra_curenta return cifra_maxima(numar // 10, cifra_max) def main(): numar = input("Introduceti un numar: ") if validare_numar(numar): cifra_max = cifra_maxima(numar) print(f"Cifra maxima a numarului {numar} este {cifra_max}.") else: print("Numarul introdus nu este valid.") if __name__ == '__main__': main()