Program Python care testeaza daca un numar este palindrom. Cod sursa
Salutare,
Astazi va propun un programel Python care verifica daca un numar este sau nu palindrom. Mai intai sa aflam ce este un palindrom:
„Un palindrom este un șir de caractere (de obicei cuvinte, fraze sau numere) care citit de la stânga la dreapta sau de la dreapta la stânga rămâne neschimbat. Termenul „palindrom” a fost introdus de scriitorul englez Ben Jonson (1572-1637) și provine de la cuvintele grecești palin (πάλιν; „înapoi”) și dromos (δρóμος; „drum, direcție”).” Sursa: wikipedia
Exemple de numere palindrom: 12321, 76899867, 2222, 1001 😉
Am decis sa pun programul in varianta completa in care testam ce se introduce de la tastatura:
- Verificam daca se introduce un numar si nu alte caractere
- La intrebarea daca se doreste testarea unui alt numar programul accepta doar „d” (da) sau „n” (nu).
Iată codul scris de mine (*Free to copy and use for educational purposes):
# Copyright 2021 by Sebastian Chetroni - ZCoder.ro # Free to copy and use for educational purposes from random import choice as c print("Salutare!") def repeat(): # Repetam functia pana se introduce de la tastatura litera "d" sau litera "n" r = 0 while r != "d" and r != "n": r = input('Mai ai un numar de verificat (d/n)? ') if r == 'd': return 'd' if r == 'n': return 'n' def check_palindrome(): # Functia asteapta introducerea de la tastatura a unui numar pentru a fi testat daca este palindrom try: num = int(input('Introdu numarul pe care vrei sa-l verific daca este palindrom: ')) except ValueError: while True: num = input('Te rog sa introduci un numar intreg: ') if str(num).isnumeric(): num = int(num) break else: continue temp = num rev = 0 while num > 0: dig = num % 10 rev = rev * 10 + dig num = num // 10 num = temp return num == rev while True: if check_palindrome(): print('Numarul introdus este palindrom. Ole!') else: print('Numarul introdus nu e palindrom. Pacat.') rep = repeat() if rep == 'd': continue elif rep == 'n': break # Afisam un mesaj de incheiere print(c(['Ciao!', 'Pa pa!', 'La revedere!']))
Author: Sebastian Chetroni
Website: https://zcoder.ro
Articole recente
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Cadouri” in C++, clasa a V-a
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Patinaj” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Forus” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Patrate” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2019. Rezolvare problema „Cartele” in C++, clasa a V-a
Comentarii recente
- irina c la Olimpiada Judeteana de Informatica 2021. Rezolvare problema „Concurs” in C++, clasa a V-a
- M la Olimpiada Judeteana de Informatica 2022. Rezolvare problema „Sume si secvente” in C++, clasa a V-a
- Sebastian Chetroni la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei toma la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei nicolescu la Am fost in tabara educationala de vara Atlantykron. Voi mai merge
l-ai construit destul de complex interesant
multumesc!