排序和搜索并行数组?

时间:2014-10-25 02:13:38

标签: python parallel-arrays

以下问题是家庭作业(我先列出问题然后再编码)...期待收到你的来信。

问题: 设计一个包含两个并行数组的程序:一个名为people的字符串数组,其初始化名称为7个朋友,以及一个名为电话号码的字符串数组,用您的朋友电话号码初始化。该程序应允许用户输入人名(或人名的一部分)。然后它应该在people数组中搜索该人。如果找到该人,则应该从电话号码阵列获取该人员的电话号码并显示它。如果在people数组中找不到该人,则程序应显示一条消息,指示如此。

代码:

Def main:
#declare variables 
Size=7
People=[any 7 common names]
Phonenumbers= [7 phone numbers]
Searchvalue = 0
index = 0
Found = false

Inputpeople = 0
Found =false

#get name from user
InputpeopleInputpeople  = raw_input("Enter name you are looking for:"

While found ==false and index >= size-1
    If (people[index])== phonenumbers[index]:
        Found == true
   Else:
        Index = index +1

 If found ==1:
     Print"the phone number is ",phonenumbers 
Else:
      Print"there is no listing for this number"

main()的

1 个答案:

答案 0 :(得分:0)

您可以做一些事情。最简单的是.index方法。从输入和名称数组中获取字符串,并执行以下操作:

ind = people.index(inputtedName)

但是,您也可以继续使用您正在制作的算法。由于这是一项家庭作业,我建议这样做。你拥有的循环很好。您需要搜索所有名称。但是,您要将索引index的名称与索引index的电话号码进行比较。这没有意义,因为电话号码和姓名不应该相同。而是将名称与输入的名称进行比较。如果它们匹配,那么您所在的索引就是用户想要的索引。

然后您需要在该索引处显示电话号码,而不是像现在这样显示所有电话号码。

最后,记住要正确地利用资本。布尔值在python中大写,大多数函数都不是。

如果需要,我可以提供更多详细信息,但希望这已经足够了。