4316 - Cifre 18: Difference between revisions

From Bitnami MediaWiki
Am creat de la zero.
 
Line 34: Line 34:
     # Verificăm dacă numar este un număr natural și k respectă condițiile impuse
     # Verificăm dacă numar este un număr natural și k respectă condițiile impuse
if numar <= 0:
if numar <= 0:
     print("n trebuie să fie un număr natural pozitiv!")
     print("numar trebuie să fie un număr natural pozitiv!")
elif pozitie <= 0 or pozitie > len(str(numar)):
elif pozitie <= 0 or pozitie > len(str(numar)):
     print("pozitie trebuie să fie un număr nenul și mai mic sau egal cu numărul de cifre ale lui numar!")
     print("pozitie trebuie să fie un număr nenul și mai mic sau egal cu numărul de cifre ale lui numar!")

Revision as of 16:46, 31 March 2023

Sursă: [1]

Cerinţa

Să se scrie un program care citește un număr natural numar și o valoare nenulă pozitie, cel mult egală cu numărul de cifre ale lui numar. Să se mărească cifra de pe pozitia ceruta din numar cu 1 dacă este mai mică decât 9 și să se înlocuiască cu 0 în caz contrar.

Date de intrare

Programul va citi de la tastatură numerele numar si pozitie.

Date de ieşire

Programul va afişa pe ecran valoarea lui numar, după transformarea cerută.

Restricții și precizări

  • numar ≤ 2.000.000.000

Exemplu

Intrare
31615 4
Ieșire
31625

Exemplu

Intrare
32695 4
Ieșire
32605


Rezolvare

<syntaxhighlight lang="python" line> numar = int(input("Introduceți numărul: ")) pozitie = int(input("Introduceți poziția: "))

   # Verificăm dacă numar este un număr natural și k respectă condițiile impuse

if numar <= 0:

   print("numar trebuie să fie un număr natural pozitiv!")

elif pozitie <= 0 or pozitie > len(str(numar)):

   print("pozitie trebuie să fie un număr nenul și mai mic sau egal cu numărul de cifre ale lui numar!")

else:

   # Obținem cifra de pe poziția ceruta
   cifra = int(str(numar)[pozitie - 1])
   # Dacă cifra este mai mică decât 9, o mărim cu 1
   if cifra < 9:
       cifra += 1
   # În caz contrar, o înlocuim cu 0
   else:
       cifra = 0
   # Construim noul număr
   numar = str(numar)[:pozitie - 1] + str(cifra) + str(numar)[pozitie:]
   print("Noul număr este:", int(numar))


</syntaxhighlight>