0355 - N Minim

De la Universitas MediaWiki

Sursă: [1]

Cerință

Se dau n numere întregi. Calculaţi cel mai mic dintre cele n numere date.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere întregi, separate prin spaţii.

Date de ieșire

Programul afișează pe ecran pt fiecare vlaoare introdusa corect textul "Valorile au numarul de cifre corespunzator." iar in caz contrar "Valorile nu au numarul de cifre corespunzator.", ulterior va fi afisat numarul MIN, reprezentând cel mai mic dintre cele n numere date.

Restricții și precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor avea cel mult 9 cifre

Exemplu 1

Date de intrare
5
7 6 9 6 8
Date de ieșire
6

Exemplu 2

Date de intrare
3
1, 6, 76968549875
Date de ieșire
1

Exemplu 3

Date de intrare
5
17 65 29 67 8
Date de ieșire
8

Rezolvare

def citeste_n():
    while True:
        try:
            n = int(input("Introduceti numarul de valori: "))
            if n >= 1 or n < 1000:
                print("Numarul este cuprins intre 1 si 1000.")
            else:
                print("Numarul trebuie sa fie cuprins intre 1 si 1000.")
                break
        except ValueError:
            print("Trebuie introduse doar numere intregi.")

def nrcifre(nr):
    nrcif = 0
    while nr != 0:
        nrcif += 1
        nr //= 10
    return nrcif

def citeste_valori(n):
    valori = []
    for i in range(n):
        valoare = input("Introduceti o valoare: ")
        try:
            cifre = nrcifre(int(valoare))
            if cifre <= 9:
                print("Valorile au numarul de cifre corespunzator.")
                valori.append(int(valoare))
            else:
                print("Valorile nu au numarul de cifre corespunzator.")
                break
        except ValueError:
            print("Trebuie introduse doar valori cu mai putin de 9 cifre.")
            break
    return valori

def numarul_minim(valori):
    min = None
    for x in valori:
        if min is None or x < min:
            min = x
    return min

if __name__ == '__main__':
    n = citeste_n()
    valori = citeste_valori(n)
    min = numarul_minim(valori)
    print("Numarul minim este:", min)