Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
level3-lesson16-diy2
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0a0a32a0
authored
May 14, 2022
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
ebf68f8c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
2 deletions
my_search.py
my_search.py
View file @
0a0a32a0
...
...
@@ -6,4 +6,18 @@ for i in range(1, 101):
num
=
random
.
choice
(
alist
)
# 请完善二分查找函数binary_search(),查找出num在列表alist里面的索引位置
def
binary_search
(
alist
,
num
):
\ No newline at end of file
def
binary_search
(
alist
,
num
):
low
=
0
high
=
len
(
alist
)
-
1
#最后的索引
while
low
<=
high
:
mid
=
(
low
+
high
)
//
2
#中间值 //整除
guess
=
alist
[
mid
]
#mid 所对应的值
if
guess
==
num
:
#如果对上了
return
mid
elif
guess
>
num
:
#如果假设的数大于猜的数,说明数在右边,把high左移的
high
=
mid
-
1
elif
guess
<
num
:
#如果假设的数小于猜的数,说明数在左边,把low右移的
low
=
mid
+
1
result
=
binary_search
(
alist
,
num
)
print
(
'数是'
,
num
)
print
(
'索引:'
,
result
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment