What's new

Patulong pano mag loop ito

Yayann

Honorary Poster
Established
Joined
Mar 23, 2022
Posts
329
Reaction
92
Points
140
Patulong naman po di ko kase mailoop na uulet siya na pag wala sa list yung number, mag aask ulet Search number

nums = []
chk = 0
print(end="How Many Number to Enter ? ")
tot = int(input())
print(end="Enter " + str(tot) + " Numbers: ")
for i in range(tot):
nums.insert(i, int(input()))

for i in range(tot-1):
for j in range(tot-i-1):
if nums[j]>nums[j+1]:
temp = nums[j]
nums[j] = nums[j+1]
nums[j+1] = temp

print(end="\nThe List is: ")
for i in range(tot):
print(end=str(nums) + " ")

print(end="\nEnter a Number to Search: ")
search = int(input())
first = 0
last = tot-1
middle = int((first+last)/2)
for first in range(last+1):
if nums[middle]<search:
first = middle+1
elif nums[middle]==search:
print("\n" + str(search) + " Found at Position: " + str(middle+1))
chk = 1
break
else:
last = middle-1
middle = int((first+last)/2)
if chk!=1:
print("\n" + str(search) + " Element not found! Try Again.")
 
Ang code na iyong ipinakita ay naglalaman ng isang search algorithm na ginagamit upang maghanap ng isang numero sa isang list. Ang algorithm na ito ay tinatawag na binary search. Ang script na ito ay nagtatanong sa user kung ilang numero ang nais nilang ipasok, at pagkatapos ay nagtatanong sa user upang magpasok ng mga numero. Pagkatapos ay ito ay nagpapakita ng mga numero na nasa listahan ng maliit hanggang sa malaki at nagtatanong sa user upang magpasok ng isang numero na nais hanapin.

Kung hindi nahanap ang numero na hinahanap ng user, ito ay magpapakita ng mensahe na "Element not found! Try Again." at magtatanong ulet sa user upang magpasok ng isa pang numero para hanapin hanggang sa ito ay matagpuan.

Para ma-loop ang buong process na ito, maaari mong gamitin ang isang while loop. Halimbawa, maaari mong gawin ito:

Code:
nums = []
chk = 0

while True:
    tot = int(input("How Many Number to Enter? "))
    if tot == 0:
        break
    print("Enter", tot, "Numbers: ")
    for i in range(tot):
        nums.append(int(input()))
    
    for i in range(tot-1):
        for j in range(tot-i-1):
            if nums[j]>nums[j+1]:
                temp = nums[j]
                nums[j] = nums[j+1]
                nums[j+1] = temp

    print("The List is: ")
    for i in range(tot):
        print(nums[i], end=" ")
    print()

    while True:
        search = int(input("Enter a Number to Search: "))
        first = 0
        last = tot-1
        middle = int((first+last)/2)
        for first in range(last+1):
            if nums[middle]<search:
                first = middle+1
            elif nums[middle]==search:
                print(str(search) + " Found at Position: " + str(middle+1))
                chk = 1
                break
            else:
                last = middle-1
            middle = int((first+last)/2)
        if chk!=1:
            print(str(search) + " Element not found! Try Again.")
        else:
            break

Sa code na ito, ang process na ito ay nasa isang while loop. Pagkatapos ng bawat search, ito ay magtatanong ulet sa user kung nais nilang maghanap ng isa pang numero. Kung hindi naman, maaari silang maglagay ng zero upang mag-exit sa loop.
 
Ang code na iyong ipinakita ay naglalaman ng isang search algorithm na ginagamit upang maghanap ng isang numero sa isang list. Ang algorithm na ito ay tinatawag na binary search. Ang script na ito ay nagtatanong sa user kung ilang numero ang nais nilang ipasok, at pagkatapos ay nagtatanong sa user upang magpasok ng mga numero. Pagkatapos ay ito ay nagpapakita ng mga numero na nasa listahan ng maliit hanggang sa malaki at nagtatanong sa user upang magpasok ng isang numero na nais hanapin.

Kung hindi nahanap ang numero na hinahanap ng user, ito ay magpapakita ng mensahe na "Element not found! Try Again." at magtatanong ulet sa user upang magpasok ng isa pang numero para hanapin hanggang sa ito ay matagpuan.

Para ma-loop ang buong process na ito, maaari mong gamitin ang isang while loop. Halimbawa, maaari mong gawin ito:

Code:
nums = []
chk = 0

while True:
    tot = int(input("How Many Number to Enter? "))
    if tot == 0:
        break
    print("Enter", tot, "Numbers: ")
    for i in range(tot):
        nums.append(int(input()))
   
    for i in range(tot-1):
        for j in range(tot-i-1):
            if nums[j]>nums[j+1]:
                temp = nums[j]
                nums[j] = nums[j+1]
                nums[j+1] = temp

    print("The List is: ")
    for i in range(tot):
        print(nums[i], end=" ")
    print()

    while True:
        search = int(input("Enter a Number to Search: "))
        first = 0
        last = tot-1
        middle = int((first+last)/2)
        for first in range(last+1):
            if nums[middle]<search:
                first = middle+1
            elif nums[middle]==search:
                print(str(search) + " Found at Position: " + str(middle+1))
                chk = 1
                break
            else:
                last = middle-1
            middle = int((first+last)/2)
        if chk!=1:
            print(str(search) + " Element not found! Try Again.")
        else:
            break

Sa code na ito, ang process na ito ay nasa isang while loop. Pagkatapos ng bawat search, ito ay magtatanong ulet sa user kung nais nilang maghanap ng isa pang numero. Kung hindi naman, maaari silang maglagay ng zero upang mag-exit sa loop.
Paano naman kung gusto ko na automatic na mag eexit ng loop ng hindi na maglalagay ng 0
 
Paano naman kung gusto ko na automatic na mag eexit ng loop ng hindi na maglalagay ng 0
Kung nais mong mag-exit sa loop nang hindi na kailangang maglagay ng zero, maaari mong baguhin ang kundisyon ng while loop sa pamamagitan ng paggamit ng isang variable na nagtataglay ng kundisyon ng pagpapatuloy ng loop. Halimbawa, maaari mong gawin ito:

Code:
nums = []
chk = 0
continue_program = True

while continue_program:
    tot = int(input("How Many Number to Enter? "))
    if tot == 0:
        continue_program = False
        break

    print("Enter", tot, "Numbers: ")
    for i in range(tot):
        nums.append(int(input()))
   
    for i in range(tot-1):
        for j in range(tot-i-1):
            if nums[j]>nums[j+1]:
                temp = nums[j]
                nums[j] = nums[j+1]
                nums[j+1] = temp

    print("The List is: ")
    for i in range(tot):
        print(nums[i], end=" ")
    print()

    while True:
        search = int(input("Enter a Number to Search: "))
        first = 0
        last = tot-1
        middle = int((first+last)/2)
        for first in range(last+1):
            if nums[middle]<search:
                first = middle+1
            elif nums[middle]==search:
                print(str(search) + " Found at Position: " + str(middle+1))
                chk = 1
                break
            else:
                last = middle-1
            middle = int((first+last)/2)

        if chk!=1:
            print(str(search) + " Element not found! Try Again.")
        else:
            chk = 0

    nums = []

print("Program exited.")

Sa code na ito, ginagamit ang variable na continue_program upang malaman kung dapat pang ipagpatuloy ang loop o hindi. Sa unang pagkakataon, ang variable na ito ay nakaset sa True, kaya't ang loop ay magpapatuloy.

Kapag pinasok ng user ang 0 bilang bilang ng numerong nais nilang ipasok, ang variable na continue_program ay magiging False, kaya't ang loop ay magiging False rin at mag-eexit.

Kapag naghanap ng numero ang user at hindi ito nahanap, ang variable na chk ay magiging 0, at dahil dito ay magpapatuloy pa rin ang loop hanggang sa matagpuan ang numero na hinahanap.

Kapag nahanap na ang numero, ang variable na chk ay nagiging 1 upang hindi na magpatuloy ang loop ng paghahanap ng numero.
 
Kung nais mong mag-exit sa loop nang hindi na kailangang maglagay ng zero, maaari mong baguhin ang kundisyon ng while loop sa pamamagitan ng paggamit ng isang variable na nagtataglay ng kundisyon ng pagpapatuloy ng loop. Halimbawa, maaari mong gawin ito:

Code:
nums = []
chk = 0
continue_program = True

while continue_program:
    tot = int(input("How Many Number to Enter? "))
    if tot == 0:
        continue_program = False
        break

    print("Enter", tot, "Numbers: ")
    for i in range(tot):
        nums.append(int(input()))
 
    for i in range(tot-1):
        for j in range(tot-i-1):
            if nums[j]>nums[j+1]:
                temp = nums[j]
                nums[j] = nums[j+1]
                nums[j+1] = temp

    print("The List is: ")
    for i in range(tot):
        print(nums[i], end=" ")
    print()

    while True:
        search = int(input("Enter a Number to Search: "))
        first = 0
        last = tot-1
        middle = int((first+last)/2)
        for first in range(last+1):
            if nums[middle]<search:
                first = middle+1
            elif nums[middle]==search:
                print(str(search) + " Found at Position: " + str(middle+1))
                chk = 1
                break
            else:
                last = middle-1
            middle = int((first+last)/2)

        if chk!=1:
            print(str(search) + " Element not found! Try Again.")
        else:
            chk = 0

    nums = []

print("Program exited.")

Sa code na ito, ginagamit ang variable na continue_program upang malaman kung dapat pang ipagpatuloy ang loop o hindi. Sa unang pagkakataon, ang variable na ito ay nakaset sa True, kaya't ang loop ay magpapatuloy.

Kapag pinasok ng user ang 0 bilang bilang ng numerong nais nilang ipasok, ang variable na continue_program ay magiging False, kaya't ang loop ay magiging False rin at mag-eexit.

Kapag naghanap ng numero ang user at hindi ito nahanap, ang variable na chk ay magiging 0, at dahil dito ay magpapatuloy pa rin ang loop hanggang sa matagpuan ang numero na hinahanap.

Kapag nahanap na ang numero, ang variable na chk ay nagiging 1 upang hindi na magpatuloy ang loop ng paghahanap ng numero.
Thank you
 

Similar threads

Back
Top