【发布时间】:2017-02-21 06:16:05
【问题描述】:
我正在尝试创建一个代码,其中 Python 将生成 0 到 9 之间的五个随机数,然后将它们存储在一个列表中。我需要程序允许用户输入一个整数然后搜索列表。
def main():
choice = displayMenu()
while choice != '4':
if choice == '1':
createList()
elif choice == '2':
print(createList)
elif choice == '3':
searchList()
choice = displayMenu()
print("Thanks for playing!")
def displayMenu():
myChoice = '0'
while myChoice != '1' and myChoice != '2' \
and myChoice != '3' and myChoice != '4':
print ("""Please choose
1. Create a new list of 5 integers
2. Display the list
3. Search the list
4. Quit
""")
myChoice = input("Enter option-->")
if myChoice != '1' and myChoice != '2' and \
myChoice != '3' and myChoice != '4':
print("Invalid option. Please select again.")
return myChoice
import random
def linearSearch(myList):
target = int(input("--->"))
for i in range(len(myList)):
if myList[i] == target:
return i
return -1
#This is where I need it to ask the user to give five numbers
def createList():
newList = []
while True:
try:
num = input("Give me five numbers: ")
num = [int(num) for num in input().split(' ')]
print(num)
if any([num < 0 for num in a]):
Exception
print("Thank you")
break
except:
print("Invalid. Try again...")
for i in range(5):
newList.append(random.randint(0,9))
return newList
#This is where the user should be able to search the list
def searchList():
target = int(input("--->"))
result = linearSearch(myList,target)
if result == -1:
print("Not found...")
else:
print("Found at", result)
但是,一旦我让用户输入号码,它就不会搜索列表?
【问题讨论】:
-
你使用什么版本的 Python? (
input在 2.6 和 3.3 中的工作方式不同)。 -
我正在使用 python 3.6!
-
你在哪里定义了线性搜索?
-
抱歉,我意识到我忘记添加了,我编辑了它以显示。
-
“搜索”和“不会搜索”是什么意思?
标签: python list search integer