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
8527aafb
authored
9 months ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
adaf6f8a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
2 deletions
my_search.py
my_search.py
View file @
8527aafb
...
...
@@ -6,4 +6,20 @@ 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
]
if
guess
==
num
:
# 中间值等于查找对象,返回索引
return
mid
elif
guess
<
num
:
# 中间值小于查找对象
low
=
mid
+
1
else
:
# 中间值大于查找对象
high
=
mid
-
1
return
None
result
=
binary_search
(
alist
,
num
)
print
(
"老师给的数是:"
,
num
)
print
(
"它在列表里的索引是:"
,
result
)
# 列表从1开始,索引从0开始,所以少1
\ No newline at end of file
This diff is collapsed.
Click to expand it.
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