排序和搜索并行数组?
下面的问题是一个作业(我先把问题列出来,然后再说我的代码)……期待你的回复。
问题: 设计一个程序,里面有两个平行的数组:一个叫做 people 的字符串数组,里面存放你7个朋友的名字;另一个叫做 phone numbers 的字符串数组,里面存放你朋友的电话号码。这个程序应该允许用户输入一个人的名字(或者名字的一部分)。然后,它会在 people 数组中查找这个人。如果找到了,就从 phone numbers 数组中获取这个人的电话号码并显示出来。如果在 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
你可以做几件事情。最简单的方法是使用 .index 方法。你可以拿到输入的字符串和名字数组,然后这样做:
ind = people.index(inputtedName)
不过,你也可以继续你正在做的算法。因为这是一个作业,我建议你这样做。你现在的循环很好。你需要检查所有的名字。不过,你现在是把索引 index
处的名字和索引 index
处的电话号码进行比较。这是不对的,因为名字和电话号码不应该是一样的。你应该把名字和输入的名字进行比较。如果它们匹配,那么你当前的索引就是用户想要的那个索引。
然后,你需要显示那个索引处的电话号码,而不是像现在这样显示所有的电话号码。
最后,记得正确地使用大写字母。在 Python 中,布尔值是大写的,而大多数函数和其他东西则不是。
如果你需要更多细节,我可以提供,但希望这些信息已经足够了。