3053 - Even Odd XXL: Difference between revisions
Line 23: | Line 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> |
Revision as of 20:54, 14 April 2023
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
<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>