Rumah > pembangunan bahagian belakang > Tutorial Python > Logik Fungsi Rentetan Hari Python menggunakan gelung, Rekursi, Tugas

Logik Fungsi Rentetan Hari Python menggunakan gelung, Rekursi, Tugas

Barbara Streisand
Lepaskan: 2024-12-20 22:15:10
asal
196 orang telah melayarinya

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

1) Untuk menambah ruang antara rentetan

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='')
Salin selepas log masuk

Output:
Hari ini Jumaat

2)Untuk mengalih keluar ruang antara rentetan

txt = "    Today Is Friday"
#Today is Friday

for letter in txt:
    if letter==' ':
        pass
    else:
        print(letter,end='')
Salin selepas log masuk

Output:
Hari iniJumaat

3) ltrim- Untuk mengalih keluar ruang di sebelah kiri rentetan.

#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='')
Salin selepas log masuk

4) rtrim- Untuk mengalih keluar ruang di sebelah kanan rentetan.

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
Salin selepas log masuk

Output:

Hari ini Jumaat

5) Mengalih keluar ruang yang tidak diingini daripada Rentetan yang diberikan

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
Salin selepas log masuk

Output:

Hari ini Jumaat

Rekursi:
Fungsi memanggil dirinya sendiri.

Gelung-->Pendekatan berulang.
Rekursi-->Pendekatan rekursif.

Contoh:1

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


display(1)
Salin selepas log masuk

Output:

1 2 3 4 5
Salin selepas log masuk

Fungsi rekursif untuk memanggil faktorial:

5!=5x4x3x2x1 (atau) 5x4!

4!=4x3x2x1 (atau) 4x3!

3!=3x2x1 (atau) 3x2!

2!=2x1 (atau) 2x1!

1!=1

Contoh:2

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

result = find_fact(5)
print(result)
Salin selepas log masuk

Output:
120

Penjelasan:
1) cari_fakta(5)
Mengembalikan 5 * find_fact(4) #no-1 = 5-1 -->4

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

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

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

5) cari_fakta(1)
Sarung asas: Mengembalikan 1

Kes asas: Kes asas dalam rekursi ialah keadaan yang menghentikan panggilan rekursif.

Tugas:

jalur()-Mengalih keluar semua aksara ruang putih (ruang, tab, baris baharu) dari permulaan dan penghujung rentetan.

1) Alih keluar ruang yang tidak diingini di hadapan dan belakang rentetan yang diberikan.

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)
Salin selepas log masuk

Output:

Today Is Friday
Salin selepas log masuk

2) Membalikkan nombor menggunakan fungsi rekursif:

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)
Salin selepas log masuk

Output:

Enter no. 15
51
Salin selepas log masuk

3)Cari nombor perdana atau tidak:

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")
Salin selepas log masuk

Output:

1) Enter the number: 11
   EMIRP number
2) Enter the number: 15
   not EMIRP number
Salin selepas log masuk

4) Cari 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)
Salin selepas log masuk

Output:

Enter the number: 10
0 1 1 2 3 5 8 
Salin selepas log masuk

5. Cari palindrom atau tidak:

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")
Salin selepas log masuk

Output:

Enter the number:121
Palindrome
Salin selepas log masuk

Akaun HackerRank Dicipta: https://www.hackerrank.com/dashboard

Atas ialah kandungan terperinci Logik Fungsi Rentetan Hari Python menggunakan gelung, Rekursi, Tugas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan