2911 - Write Digits: Difference between revisions
Paul Ungur (talk | contribs) No edit summary |
Paul Ungur (talk | contribs) |
||
Line 175: | Line 175: | ||
== Explicație rezolvare== | == Explicație rezolvare== | ||
<pre> | |||
Acest cod Python are două funcții. Funcția afisare_cifra primește o cifră între 0 și 9 și afișează modelul corespunzător acelei cifre folosind caractere speciale. Funcția validare_date_numar primește un șir de caractere și verifică dacă acesta conține doar cifre și dacă numărul reprezentat de aceste cifre este mai mic sau egal cu 10^10. Dacă numărul este valid, funcția returnează True, altfel returnează False. | Acest cod Python are două funcții. Funcția afisare_cifra primește o cifră între 0 și 9 și afișează modelul corespunzător acelei cifre folosind caractere speciale. Funcția validare_date_numar primește un șir de caractere și verifică dacă acesta conține doar cifre și dacă numărul reprezentat de aceste cifre este mai mic sau egal cu 10^10. Dacă numărul este valid, funcția returnează True, altfel returnează False. | ||
Line 180: | Line 181: | ||
În general, acest program poate fi folosit pentru a afișa cifrele sub forma unui model special și pentru a valida datele de intrare pentru a evita erorile. | În general, acest program poate fi folosit pentru a afișa cifrele sub forma unui model special și pentru a valida datele de intrare pentru a evita erorile. | ||
</pre> |
Revision as of 20:40, 21 April 2023
Sursa: 4294 - Perechi N
Cerinţa
Se dă un număr natural n. Să se afișeze fiecare cifră a numărului folosind simbolul @, ca în exemplu.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran fiecare cifră a numărului citit scrisă. După fiecare cifră se va lăsa un rând gol.
Restricţii şi precizări
1 ≤ n ≤ 1010
Exemplu
- Intrare
- 1234567890
- Ieșire
@ @@ @ @ @@@@@ @@@@ @ @ @ @ @@@@ @@@@@ @ @@@@@ @ @@@@@ @ @ @ @ @@@@@ @ @ @@@@@ @ @@@@@ @ @@@@@ @@@@@ @ @@@@@ @ @ @@@@@ @@@@ @ @@@ @ @ @@@@@ @ @ @@@@@ @ @ @@@@@ @@@@@ @ @ @@@@@ @ @ @@@@@ @ @ @ @ @ @ @@@@@
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line>
- 2911- WriteDigits
def afisare_cifra(cifra: int) -> None:
if cifra == 0: print("@@@@@") print("@ @") print("@ @") print("@ @") print("@@@@@") print('\n') elif cifra == 1: print(" @") print(" @@") print(" @") print(" @") print("@@@@@") print('\n') elif cifra == 2: print("@@@@") print(" @") print("@@@@") print("@") print("@@@@@") print('\n') elif cifra == 3: print("@@@@") print(" @") print("@@@@") print(" @") print("@@@@") print('\n') elif cifra == 4: print("@ @") print("@ @") print("@@@@@") print(" @") print(" @") print('\n') elif cifra == 5: print("@@@@@") print("@") print("@@@@@") print(" @") print("@@@@@") print('\n') elif cifra == 6: print("@@@@@") print("@") print("@@@@@") print("@ @") print("@@@@@") print('\n') elif cifra == 7: print("@@@@@") print(" @") print(" @") print(" @") print(" @") print('\n') elif cifra == 8: print("@@@@@") print("@ @") print("@@@@@") print("@ @") print("@@@@@") print('\n') elif cifra == 9: print("@@@@@") print("@ @") print("@@@@@") print(" @") print(" @") print('\n')
def validare_date_numar(numar: str) -> bool:
if numar.isdigit(): if int(numar) > 10 ** 10: return False return True return False
if __name__ == "__main__":
n = input() if validare_date_numar(n): print("Datele de intrare corespund restricțiilor impuse.") for digit in n: afisare_cifra(int(digit)) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicație rezolvare
Acest cod Python are două funcții. Funcția afisare_cifra primește o cifră între 0 și 9 și afișează modelul corespunzător acelei cifre folosind caractere speciale. Funcția validare_date_numar primește un șir de caractere și verifică dacă acesta conține doar cifre și dacă numărul reprezentat de aceste cifre este mai mic sau egal cu 10^10. Dacă numărul este valid, funcția returnează True, altfel returnează False. În funcția principală, programul citește un număr de la intrare și verifică dacă acesta este un număr valid folosind funcția validare_date_numar. Dacă numărul este valid, programul afișează un mesaj corespunzător și apoi afișează fiecare cifră din număr folosind funcția afisare_cifra. Dacă numărul nu este valid, programul afișează un mesaj corespunzător. În general, acest program poate fi folosit pentru a afișa cifrele sub forma unui model special și pentru a valida datele de intrare pentru a evita erorile.