Python 是否可以使用输入创建字典,如果我们输入一个键。输出返回该键的值?

Python 是否可以使用输入创建字典,如果我们输入一个键。输出返回该键的值?,python,dictionary,input,Python,Dictionary,Input,在本例中,我想制作简单的“联系人”,但当我输入例如john时,输出给我n1,其中n是john的最后一个字母 (如果你知道没有我的搞笑代码的更好方法,也请让我知道) 您的代码有一些问题 在name:中输出的for循环是不必要的,因为它迭代字符串name的字符,但您不需要这样做 循环完成后,输出具有名称的最后一个字符的值,例如output='n'代表john,因此您可以在输出中看到n1 因此,您可以通过在无限循环中请求名称来修复代码,然后在有人键入exit时中断循环并退出,否则您将通过nums从字典

在本例中,我想制作简单的“联系人”,但当我输入例如john时,输出给我n1,其中n是john的最后一个字母

(如果你知道没有我的搞笑代码的更好方法,也请让我知道)


您的代码有一些问题

  • 在name:中输出的for循环
    是不必要的,因为它迭代字符串
    name
    的字符,但您不需要这样做

  • 循环完成后,输出具有
    名称的最后一个字符的值,例如
    output='n'
    代表
    john
    ,因此您可以在输出中看到
    n1

  • 因此,您可以通过在无限循环中请求名称来修复代码,然后在有人键入
    exit
    时中断循环并退出,否则您将通过
    nums从字典中获取元素。获取
    并打印它

    nums = {
        'john': '1',
        'mary': '2',
        'jake': '3'
    }
    
    name = ''
    
    #Run an infinite loop
    while True:
    
        #Get the name from user
        name = input('Name: ')
    
        #If user types exit, break the loop
        if name == 'exit':
            break
        #Otherwise either print the number of not exist
        print(nums.get(name, ' (not exist)'))
    
    输出将如下所示

    Name: john
    1
    Name: mary
    2
    Name: jake
    3
    Name: joe
     (not exist)
    Name: exit
    

    您的代码有一些问题

  • 在name:
  • 中输出的for循环
    是不必要的,因为它迭代字符串
    name
    的字符,但您不需要这样做

  • 循环完成后,输出具有
    名称的最后一个字符的值,例如
    output='n'
    代表
    john
    ,因此您可以在输出中看到
    n1

  • 因此,您可以通过在无限循环中请求名称来修复代码,然后在有人键入
    exit
    时中断循环并退出,否则您将通过
    nums从字典中获取元素。获取
    并打印它

    nums = {
        'john': '1',
        'mary': '2',
        'jake': '3'
    }
    
    name = ''
    
    #Run an infinite loop
    while True:
    
        #Get the name from user
        name = input('Name: ')
    
        #If user types exit, break the loop
        if name == 'exit':
            break
        #Otherwise either print the number of not exist
        print(nums.get(name, ' (not exist)'))
    
    输出将如下所示

    Name: john
    1
    Name: mary
    2
    Name: jake
    3
    Name: joe
     (not exist)
    Name: exit
    

    问题

    while True:
        name = input('Name: ')
        if name.lower() == 'exit':
            break
        output = nums.get(name, ' (not exist)')
        print(output)
    
    • 中的循环,而不需要
      <代码>用于名称中的输出:
      实际上迭代了
      名称
      的每个字符,这不是您想要的

    • output+=…
      for
    循环中的
    将在末尾获取键的最后一个字母并附加值,这就是为什么您得到
    'n1'
    for
    'john'
    的原因

    代码

    while True:
        name = input('Name: ')
        if name.lower() == 'exit':
            break
        output = nums.get(name, ' (not exist)')
        print(output)
    

    问题

    while True:
        name = input('Name: ')
        if name.lower() == 'exit':
            break
        output = nums.get(name, ' (not exist)')
        print(output)
    
    • 中的循环,而不需要
      <代码>用于名称中的输出:
      实际上迭代了
      名称
      的每个字符,这不是您想要的

    • output+=…
      for
    循环中的
    将在末尾获取键的最后一个字母并附加值,这就是为什么您得到
    'n1'
    for
    'john'
    的原因

    代码

    while True:
        name = input('Name: ')
        if name.lower() == 'exit':
            break
        output = nums.get(name, ' (not exist)')
        print(output)
    

    预期的输出@K.Gava是什么?对于name
    中的输出,仅值@DeveshKumarSinghremove
    ,因为这会从字符串中获取字符。使用
    打印(输出)
    查看它。明白了!您不需要for循环,只要在
    操作符中加入
    ,就足以检查dict中的成员资格@加瓦。检查下面!预期的输出@K.Gava是什么?对于name
    中的输出,仅值@DeveshKumarSinghremove
    ,因为这会从字符串中获取字符。使用
    打印(输出)
    查看它。明白了!您不需要for循环,只要在
    操作符中加入
    ,就足以检查dict中的成员资格@加瓦。检查下面!很乐意帮忙!如果答案对您有帮助,您可以通过单击答案@K.Gava:)旁边的勾号将答案标记为已接受,这将是一件非常好的事情!如果答案对您有帮助,您可以单击答案@K.Gava:)旁边的勾号,将答案标记为已接受,这将是一件好事