编写一个程序,首先接收由姓名和电话号码(两个字符串)组成的单词对,用逗号分隔

xiaoxingxing python 214

原文标题Write a program that first takes in word pairs that consist of a name and a phone number (both strings), separated by a comma

我有以下提示:

联系人列表是您可以存储特定联系人以及其他相关信息(例如电话号码、电子邮件地址、生日等)的地方。编写一个程序,首先接收由姓名和电话号码组成的单词对(两者都是字符串),以逗号分隔。该列表后跟一个名称,您的程序应该输出与该名称关联的电话号码。假设搜索名称始终在列表中。

前任:

如果输入是:Joe,123-5432 Linda,983-4123 Frank,867-5309 Frank 那么输出是:867-5309

我的代码:

pn = str(input()).split()

search = str(input())

i=0

for i in range(len(on)):

if pn[i] == (search):

print([i+1])

输入被拆分为名称和数字。当代码检查名称是否相同时,它总是返回 false。我试过使用re.split()方法,但是没有用。

原文链接:https://stackoverflow.com//questions/71962453/write-a-program-that-first-takes-in-word-pairs-that-consist-of-a-name-and-a-phon

回复

我来回复
  • Inputvector的头像
    Inputvector 评论

    您应该拆分两次,第二个拆分字符应该是逗号s.split(",")

    s = "Joe,123-5432 Linda,983-4123 Frank,867-5309"
    
    for i in s.split():
        temp = i.split(",");
        print("name :", temp[0] , " number is :" , temp[1] )
    

    输出

    name : Joe  number is : 123-5432
    name : Linda  number is : 983-4123
    name : Frank  number is : 867-5309
    
    2年前 0条评论
  • Stanley的头像
    Stanley 评论

    搜索名称时尝试用逗号分隔:

    pn = input().split()
    search = input()
    
    for i in pn:
      val = i.split(',')
      if val[0] == search:
        print(val[1])
    
    2年前 0条评论
  • Zain Ul Abidin的头像
    Zain Ul Abidin 评论

    您需要在程序中具有以下内容才能满足基本要求

    1. 无限循环输入联系信息,直到用户停止输入
    2. 用于保存输入信息和搜索的列表或字典

    代码可以如下

    contacts = {}
    
    while True:
        info = input('Enter Contact Info or Leave empty to Stop Entering: ').split(',')
        if len(info) > 1:
            contacts[info[0]] = info[1]
        else:
            break
    
    name = input('Enter name to search: ')
    print(contacts[name])
    

    输出如下

    enter image description here

    2年前 0条评论
  • preritdas的头像
    preritdas 评论

    似乎您正在尝试将数据存储为输入,向用户询问查询(人名),然后使用该人的电话号码进行响应。

    # Get the data
    inputs = input("Enter the input. >>> ").split(sep=" ")
    
    # Split the data into lists
    for pos in range(len(inputs)):
        inputs[pos] = inputs[pos].split(sep=",")
    
    # Ask for a search query
    query = input("Enter a name. >>> ")
    # Check for the name in the first element of each item
    for item in inputs:
        if item[0] == query:
            print(f"{query}'s phone number is {item[1]}.")
            break
    

    第 2 行中调用的示例数据输入:

    Enter the input. >>> John,12313123 Bob,8712731823
    

    在代码的搜索查询行中,您的inputs变量类似于:[['John', '12313123'], ['Bob', '8712731823']]。程序将遍历inputs的项,其中每个项是两个字符串的列表,然后检查该子列表的第一项是否与输入的查询匹配。

    2年前 0条评论