【问题标题】:Trying to make a phone book using python尝试使用python制作电话簿
【发布时间】:2017-08-09 12:52:13
【问题描述】:

我正在尝试使用这些说明制作电话簿

编写一个程序来创建 2 个列表:一个是姓名,一个是电话号码。给这些变量适当的名称(例如名称和数字)。使用 for 循环,让用户为电话簿输入 3 个姓名和 3 个人数。下一步:显示电话簿中的条目、姓名和号码。使用 for 循环。接下来,要求用户输入名称。将他们的输入存储在一个变量中。使用搜索来查看姓名是否已输入到姓名列表中。如果姓名在姓名列表中,请打印该号码。如果没有程序响应,“找不到名称。

您的输出应如下所示:

Name Number
sally 11 
bob 22 
carl 33   
Number you are looking for is: 11 

我只想知道如何从用户输入的数据中创建一个简单的列表。所以我可以做这个问题。

Pseudocode is 
#LOOP THREE TIMES
# names = GET INPUT name
# numbers = GET INPUT number
#END LOOP

#LOOP THREE TIMES
# PRINT (name) in names, (number) in numbers
#END LOOP

# searchName = GET INPUT "Enter a name for Search"
#IF searchName IN names THEN
# PRINT matching number
# LOOP names
# IF searchName == name THEN
# foundIndex = name(index)
# searchPhoneNumber = phoneNumber[foundIndex]
# END IF
# END LOOP
# PRINT searchPhoneNumber
#ELSE
# PRINT "Name Not Found"
#END IF

【问题讨论】:

  • 请编辑您的问题以包含您拥有的任何 python 代码,即使它是错误的。我们不会为你做作业
  • 使用字典来做到这一点
  • @hadi dictionary 可能是一个更好的选择,但在有问题的文本中,它特别声明使用两个列表。
  • 这不是家庭作业,而是我自己尝试学习的东西。我姐姐和我正在尝试通过我们拥有的程序来学习这一点,我们可以做其他所有事情,我们只是不记得如何将用户输入的数字转换为列表。不过谢谢。
  • 我们还没有列表,正在尝试获取一些输入的数据(数字)并将它们转换为列表。

标签: python-3.x


【解决方案1】:

使用这个:

names = []
phone_numbers = []
num = 3


for i in range(num):
    name = input("Name: ")
    phone_number = input("Phone Number: ") # for convert to int => int(input("Phone Number: "))

    names.append(name)
    phone_numbers.append(phone_number)

print("\nName\t\t\tPhone Number\n")

for i in range(num):
    print("{}\t\t\t{}".format(names[i], phone_numbers[i]))

search_term = input("\nEnter search term: ")

print("Search result:")

if search_term in names:
    index = names.index(search_term)
    phone_number = phone_numbers[index]
    print("Name: {}, Phone Number: {}".format(search_term, phone_number))

else:
    print("Name Not Found")

【讨论】:

    【解决方案2】:

    要将名称或号码添加到适当的列表中,请使用附加功能,即

    numberlist.append(number_that_was_input)
    

    namelist.append(name_that_was_input)    
    

    正如@cricket007 雄辩地指​​出的那样,我们确实希望看到您至少尝试为自己做事。

    【讨论】:

    • 感谢您的 cmets,我并不是要所有这些,因为我们已经完成了大部分工作,这只是我们遇到问题的数字部分。这是我姐姐和我正在努力学习的一门学科,这样当我们在秋季上课时,我们就会对它有所了解。不过,谢谢。
    • 我知道如何添加到列表中,但是您如何首先从用户编号中创建列表,
    【解决方案3】:

    要接收用户的输入,请使用input() 函数。

    例子:

    name = input('type in name')
    print(name)
    #Outputs the name you typed.
    

    要将该值添加到列表中,请使用append

    例子:

    my_list = [] #Initialize list first.
    my_list.append(name) # this will add the contents of variable name to your list.
    # my_list now looks like this: ["user817205"]
    

    由于您必须这样做 3 次,因此使用 for 循环来执行此操作很明智, 您可以使用以下代码块迭代 3 次:

    for _ in range(3):
        #type the code you want to repeat 3 times here!
    

    PS.:记住你只需要初始化你的列表一次,所以不要将my_list = [] 放在 for 循环之外。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-09
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多