3053 - Even Odd XXL: Diferență între versiuni

De la Universitas MediaWiki
Linia 23: Linia 23:
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
# 3053 Even Odd XXL
def validare(nr):
    if len(nr) > 1000:
        raise ValueError
    for cifra in nr:
        if cifra.isdigit() is False:
            raise ValueError
    file_out.write("Datele de intrare corespund restrictiilor impuse\n")
def vocala(litera):
    if litera in "aeiou":
        return True
    return False
def evenoddxxl(nr):
    if int(nr[len(nr)-1]) % 2 == 0:
        file_out.write("Par")
    else:
        file_out.write("Impar")
if __name__ == '__main__':
    file_in = open("evenoddxxlin.txt", "r")
    file_out = open("evenoddxxlout.txt", "w")
    try:
        numar = file_in.readline()
        validare(numar)
        evenoddxxl(numar)
    except ValueError:
        file_out.write("Datele de intrare nu corespund restrictiilor impuse")
    except IndexError:
        file_out.write("Datele de intrare nu corespund restrictiilor impuse")
</syntaxhighlight>

Versiunea de la data 14 aprilie 2023 20:54

Cerința

Se dă un număr natural n. Să se determine paritatea lui. Dacă numărul este par se afișează Par, altfel se afișează Impar.

Date de intrare

Fișierul de intrare evenoddxxlin.txt conține pe prima linie numărul n.

Date de ieșire

Dacă datele sunt introduse corect, fișierul de ieșire evenoddxxlout.txt va conține pe prima linie: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa Par sau Impar, după caz. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse"

Restricții și precizări

  • n are cel mult 1000 de cifre

Exemplu 1

evenoddxxlin.txt
5
evenoddxxlout.txt
Datele introduse corespund restricțiilor impuse.
Impar


Exemplu 2

evenoddxxlin.txt
1n678889
evenoddxxlout.txt
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare

# 3053 Even Odd XXL
def validare(nr):

    if len(nr) > 1000:
        raise ValueError

    for cifra in nr:
        if cifra.isdigit() is False:
            raise ValueError

    file_out.write("Datele de intrare corespund restrictiilor impuse\n")


def vocala(litera):
    if litera in "aeiou":
        return True

    return False


def evenoddxxl(nr):
    if int(nr[len(nr)-1]) % 2 == 0:
        file_out.write("Par")
    else:
        file_out.write("Impar")


if __name__ == '__main__':
    file_in = open("evenoddxxlin.txt", "r")
    file_out = open("evenoddxxlout.txt", "w")
    try:
        numar = file_in.readline()

        validare(numar)
        evenoddxxl(numar)

    except ValueError:
        file_out.write("Datele de intrare nu corespund restrictiilor impuse")
    except IndexError:
        file_out.write("Datele de intrare nu corespund restrictiilor impuse")