Maison > développement back-end > Tutoriel Python > Logique des fonctions Python Day-String utilisant des boucles, de la récursion et des tâches

Logique des fonctions Python Day-String utilisant des boucles, de la récursion et des tâches

Barbara Streisand
Libérer: 2024-12-20 22:15:10
original
208 Les gens l'ont consulté

Python Day-String Functions logic using loops, Recursion, Tasks

1) Pour ajouter un espace entre les chaînes

txt = "TodayIsFriday"
#Today is Friday
first = True
for letter in txt:
    if letter>='A' and letter<='Z':
        if first==True:
            first = False
        else:
            print(' ',end='')
    print(letter,end='')
Copier après la connexion

Sortie :
Aujourd'hui c'est vendredi

2)Pour supprimer l'espace entre les chaînes

txt = "    Today Is Friday"
#Today is Friday

for letter in txt:
    if letter==' ':
        pass
    else:
        print(letter,end='')
Copier après la connexion

Sortie :
Aujourd'hui c'est vendredi

3) ltrim- Pour supprimer les espaces sur le côté gauche des chaînes.

#ltrim
txt = "    Today Is Friday"
#Today is Friday
alphabet = False
for letter in txt:
    if letter==' ' and alphabet == False:
        pass
    else:
        alphabet = True
        print(letter,end='')
Copier après la connexion

4) rtrim- Pour supprimer les espaces sur le côté droit des chaînes.

txt = "Today Is Friday   "
#Today is Friday
alphabet = False
i = len(txt)-1
while i>=0:
    letter = txt[i]
    if letter==' ' and alphabet == False:
        pass
    else:
        alphabet = True
        end = i
        j = 0
        while j<=end:
            print(txt[j],end='')
            j+=1
        break
    i-=1
Copier après la connexion

Sortie :

Aujourd'hui c'est vendredi

5) Suppression des espaces indésirables d'une chaîne donnée

txt = "Today          Is             Friday"
#Today is Friday
i = 0 
while i<len(txt):
    if txt[i] != ' ':
        print(txt[i],end='')
    else:
        if txt[i-1]!=' ':
            print(txt[i],end='')
    i+=1
Copier après la connexion

Sortie :

Aujourd'hui c'est vendredi

Récursivité :
Fonction s'appelant elle-même.

Bouclage-->Approche itérative.
Récursion-->Approche récursive.

Exemple :1

def display(no):
    print(no, end=' ')
    no+=1
    if no<=5:
        display(no)


display(1)
Copier après la connexion

Sortie :

1 2 3 4 5
Copier après la connexion

Fonction récursive pour appeler factorielle :

5!=5x4x3x2x1 (ou) 5x4!

4!=4x3x2x1 (ou) 4x3!

3!=3x2x1 (ou) 3x2!

2!=2x1 (ou) 2x1!

1!=1

Exemple :2

def find_fact(no):
    if no==1:
        return 1
    return no * find_fact(no-1)

result = find_fact(5)
print(result)
Copier après la connexion

Sortie :
120

Explication :
1) find_fact(5)
Renvoie 5 * find_fact(4) #no-1 = 5-1 --->4

2) find_fact(4)
Renvoie 4 * find_fact(3) #no-1 = 4-1 --->3

3) find_fact(3)
Renvoie 3 * find_fact(2) #no-1 = 3-1 --->2

4) find_fact(2)
Renvoie 2 * find_fact(1) #no-1 = 2-1 --->1

5) find_fact(1)
Cas de base : renvoie 1

Cas de base : Le cas de base en récursivité est une condition qui arrête les appels récursifs.

Tâches :

strip() - Supprime tous les caractères d'espacement (espaces, tabulations, nouvelles lignes) du début et de la fin de la chaîne.

1) Supprimez les espaces indésirables devant et derrière la chaîne donnée.

txt = "    Today Is Friday   "

start = 0
end = len(txt) - 1

while start < len(txt) and end >= 0:

    i = start
    while i < len(txt) and txt[i] == ' ':
        i += 1
    start = i

    j = end
    while j >= 0 and txt[j] == ' ':
        j -= 1
    end = j
    break  

result = txt[start:end+1]
print(result)
Copier après la connexion

Sortie :

Today Is Friday
Copier après la connexion

2) Inverser un nombre à l'aide de la fonction récursive :

def reverse_a_no(no,reverse = 0):
    if no==0:
        return reverse    
    rem = no%10
    reverse = (reverse*10) + rem
    no=no//10 
    return reverse_a_no(no,reverse)

no = int(input("Enter no. ")) 
reversed_no = reverse_a_no(no) 
print(reversed_no)
Copier après la connexion

Sortie :

Enter no. 15
51
Copier après la connexion

3)Trouver un nombre premier ou non :

def find_prime(no,div=2):
    if div<no: 
        if no%div == 0:
            return False
        div+=1
        return find_prime(no,div)
    else:
        return True

no=int(input("Enter the number: "))

if find_prime(no):
    print("EMIRP number")
else:
    print("not EMIRP number")
Copier après la connexion

Sortie :

1) Enter the number: 11
   EMIRP number
2) Enter the number: 15
   not EMIRP number
Copier après la connexion

4) Trouver fibonacci :

def find_fibonacci(first_num,sec_num,no):
    if first_num > no:
        return
    print(first_num, end=" ")

    find_fibonacci(sec_num,first_num+sec_num,no)      

no = int(input("Enter the number: ")) 
find_fibonacci(0,1,no)
Copier après la connexion

Sortie :

Enter the number: 10
0 1 1 2 3 5 8 
Copier après la connexion

5. Trouver le palindrome ou pas :

def palindrome(num,count=0):
    if num == 0:
        return count
    return palindrome(num//10,count*10+num%10)

num=int(input("Enter the number:"))
result=palindrome(num)
if result==num:
    print("Palindrome")
else:
    print("Not palindrome")
Copier après la connexion

Sortie :

Enter the number:121
Palindrome
Copier après la connexion

Compte HackerRank créé : https://www.hackerrank.com/dashboard

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal