亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需要運行以下在循環中運行的 If 語句

需要運行以下在循環中運行的 If 語句

慕桂英4014372 2022-09-27 15:11:14
我需要在給定的列表中找到一個特定的數字,該數字按升序排列。我已經寫了所有的if語句。但不知道如何循環運行它們。支持找到一種方法,如何在循環中運行此內容以及列表中是否有數字可用。例如:list_of_number=[1,2,3,4,5,6,7]number_to_identify=6所以需要輸出,6是否在列表下。但請注意,我知道我們可以直接使用“FOR”循環找到它。我想用下面的方法來計算方法需要遵循:找到中間元素并與 進行比較。根據決策(更大/更小/相等),進行輸出并運行此輸出,直到找到列表中是否有可用的數字。number_to_identify這是我用“If語句”寫的編碼。但需要循環此 If 語句以查找給定列表中的數字是否可用。list_of_number=[1,2,3,4,5,6,7]number_to_identify=6Start_Index=0End_Index=len(list_of_number)new_list=[]middle_index=(End_Index-Start_Index)/2middle_Element=list_of_number[int(middle_index)]print(middle_index)print(middle_Element)if middle_Element<number_to_identify:    Start_Index=middle_index    new_list=list_of_number[int(Start_Index):int(End_Index)]    print(new_list)elif number_to_identify<middle_Element:    End_Index=middle_index    new_list=list_of_number[int(Start_Index):int(End_Index)]    print(new_list)else:    if middle_Element==number_to_identify:        print("Number is available within the list")
查看完整描述

3 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

使用 while 循環,如果找到該數字,則中斷:


while True:

    middle_index = (end_index-start_index) / 2

    ...

    elif middle_element == number_to_identify:

        print("Number is in the list")

        break

順便說一句,我重新拼寫了變量以匹配Python的推薦樣式。


查看完整回答
反對 回復 2022-09-27
?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

def identify(num,lst):

    start = int((len(lst)/2) - ((len(lst)/2) % 1))

    while True:        

        if num > lst[start]:

            start += 1

        if num < lst[start]:

            start -= 1

        if num == lst[start]:

            print("Found number at index: {0}".format(start))

            return lst[start]


list_of_number=[1,2,3,4,5,6,7]

number_to_identify=6

identify(number_to_identify, list_of_number)

這將為您解決問題。如果列表的長度是偶數,它將從中間右邊的第一個元素開始。


查看完整回答
反對 回復 2022-09-27
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

以下代碼有點笨重。但它會起作用。如果需要進行任何修改,請提出建議,如果我們能使它更容易。


def find_number(list_number,num_to_check):

    Start_Index=0

    End_Index=len(list_number)-1

    new_list=list_number

    not_found=False


    while len(new_list)>2:

        middle_index=(End_Index-Start_Index)/2

        middle_Element=new_list[int(middle_index)]


        if new_list[0]==num_to_check or new_list[-1]==num_to_check:

            print("Number in List")

            break


    #If number is in Second Half of the list

        elif middle_Element<num_to_check:

            Start_Index=middle_index

            new_list=new_list[int(Start_Index):int(End_Index+1)]

            print(new_list)

            End_Index=len(new_list)

            Start_Index=0

            print(End_Index)

            not_found=False


    #If number is in First Half of the list

        elif num_to_check<middle_Element:

            End_Index=middle_index

            new_list=new_list[int(Start_Index):int(End_Index+1)]

            print(new_list)

            End_Index=len(new_list)

            print(End_Index)

            not_found=False


    #If Number is match with the middle number

        else:

            not_found=True

            break


    if not_found:

        print("Number in List")

    else:

        print("Number not in List")


l1 = [10,22,43,56,65,79,88,92,102]

n1 = 93

find_number(l1,n1)


查看完整回答
反對 回復 2022-09-27
  • 3 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號