0909 - PermCircCif: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerință== Să se scrie o funcție Python care să realizează permutarea circulară spre stânga a cifrelor unui număr natural. Numărul este transmis prin intermediul unui parametru care se întoarce din funcție modificat. ==Restricții de precizări== *numele funcției va fi '''perm''' *funcția va avea un singur parametru,''' n''' *parametrul '''n''' va fi un număr natural nenul mai mic decât '''1.000.000.000''' ==Exemplu== ===Exemplul 1=== ; Dacă '''n = 1372...
 
Line 21: Line 21:
===Rezolvare ver. 1===
===Rezolvare ver. 1===
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def perm(n):
def perm(n):
     if n < 10:
     if n < 10:
         return n
         return n
   
 
     cifre = [int(digit) for digit in str(n)]
     cifre = [int(digit) for digit in str(n)]
     cifre.append(cifre.pop(0))
     cifre.append(cifre.pop(0))
   
 
     return int(''.join(map(str, cifre)))
     return int(''.join(map(str, cifre)))
   
if __name__ == '__main__':
    while True:
        try:
            n = int(input())
            if n < 1 or n >= 1000000000:
                continue
            break
        except ValueError:
            continue
   
    print(perm(n))




if __name__ == '__main__':
    n = int(input())
    if 1 <= n < 1000000000:
        print("Datele sunt corecte.")
        # print(perm(n))
    else:
        print("Datele nu corespunc restricțiilor impuse.")
</syntaxhighlight>
</syntaxhighlight>

Revision as of 12:49, 27 March 2023

Cerință

Să se scrie o funcție Python care să realizează permutarea circulară spre stânga a cifrelor unui număr natural. Numărul este transmis prin intermediul unui parametru care se întoarce din funcție modificat.

Restricții de precizări

  • numele funcției va fi perm
  • funcția va avea un singur parametru, n
  • parametrul n va fi un număr natural nenul mai mic decât 1.000.000.000

Exemplu

Exemplul 1

Dacă n = 1372, după apelul funcției perm, valoarea lui n va fi 3721.

Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1"> def perm(n):

   if n < 10:
       return n
   cifre = [int(digit) for digit in str(n)]
   cifre.append(cifre.pop(0))
   return int(.join(map(str, cifre)))


if __name__ == '__main__':

   n = int(input())
   if 1 <= n < 1000000000:
       print("Datele sunt corecte.")
       # print(perm(n))
   else:
       print("Datele nu corespunc restricțiilor impuse.")

</syntaxhighlight>