如何在数组中找到中间数

2024-09-29 19:28:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着像游戏一样设计程序。你知道吗

我在python上有一个数组; 数组=[1,2,5,20,40,50,60,70,100,888,999,1000]

当我开始这个程序的时候,它需要在数组中找到中间点,然后问自己它的数字比我们输入的数字大。还是更小?所以我们说我们开始了这个项目,它的开始就是这样的

  • 数据<;60(数组中间)
  • 输入的数字更大?<;如果是,则在60到1000之间进行选择 所以60和1000的数字有中间值?你知道吗
  • 888是我选的号码吗?如果是,那么恭喜你,如果不是
  • 它问自己数组的数目比类型值大还是小?你知道吗

其实有点复杂。你知道吗

我的问题是,如果程序注意到数组数小于给出错误数字的值:

elif ortalen > index:
    ortalen = int((minlen + ortalen)/2)

代码:

import numpy as np
Array = [1, 2, 5, 20, 40, 50, 60, 70, 100, 888, 999, 1000]
searchFor = 888
minlen = 0
maxlen = len(Array)
ortalen = int((maxlen/2))
index = 0
while True:
    index += 1
    bum = Array[index]
    if bum == searchFor:
        break
    else:
        pass
while True:
    #60
    ortasayi = Array[ortalen]
    if ortasayi == searchFor:
        print("congratulations.")
        break
    elif ortalen < index:
        ortalen = int((maxlen + ortalen)/2)
    elif ortalen > index:
        ortalen = int((minlen + ortalen)/2)

Tags: lt程序trueindex数字数组arrayint
1条回答
网友
1楼 · 发布于 2024-09-29 19:28:46
#new program

array= [2, 5, 1, 20, 40, 50, 60, 70, 100, 888, 999, 1000]
searchFor = 1000
array.sort()
array_uzunlugu = len(array)
array_baslangic = (array_uzunlugu - array_uzunlugu)
array_yarisi = int((len(array)/2))

orta_deger = array[array_yarisi]
while True:
    print(array_yarisi)
    orta_deger = array[array_yarisi]
    if orta_deger < searchFor:
        make = True             
        array_eski = array_yarisi
        try:
            if bum == True:
                array_yarisi = int((array_yarisi + array_eski2)/2)
        except:
            array_yarisi = int((array_yarisi + array_uzunlugu)/2)
    elif orta_deger > searchFor:
        try:
            if make == True:
                array_yarisi = int((array_yarisi+array_eski)/2)
        except:
                bum = True
                array_eski2 = array_yarisi
                array_yarisi = int((array_yarisi)/2)
    elif orta_deger == searchFor:
        print("tebrikler.")
        break

相关问题 更多 >

    热门问题