【问题标题】:Need help in python dictionaries在 python 字典中需要帮助
【发布时间】:2021-03-10 09:16:41
【问题描述】:

此代码保存了用户的一些键值对,但我想更进一步并输入要在电话簿中搜索的键。有人可以告诉我我的代码有什么问题

phonebook = {}
n = int(input())
for x in range (n):
    name , phoneno = input().split()
    phonebook[ name ] = int(phoneno)
for y in phonebook:
    name = input().split()
    if name in phonebook:
        print("Found")
    else:
        print('Not Found')

【问题讨论】:

  • 看来你不需要for y in phonebook:
  • you 可以告诉我们代码有什么问题吗?它做了什么你没想到的?
  • name = input().split() 创建一个列表,使用name = input() 粘贴一个字符串。
  • "有人能告诉我我的代码出了什么问题吗" 那么,您尝试运行它了吗?发生了什么?这与应该发生的事情有什么不同?现在,看看你的代码结构。你能想出一些解释为什么会发生的事情吗?一段一段地浏览代码,你能用简单的英文解释每个部分的确切用途吗?

标签: python python-3.x dictionary search


【解决方案1】:
phonebook = {}
n = int(input())
for x in range (n):
    name , phoneno = input().split()
    phonebook[ name ] = int(phoneno)

name = input().split()
out = phonebook.get(name,None)
if out == None:
    print('Not found')
else:
    print('found')

您不需要循环来检查字典中的键

【讨论】:

    【解决方案2】:

    name , phoneno = input().split() .split() 需要一个关于拆分它的参数,所以假设你做了这个Guy 69420,如果你做了.split(' ') 空间作为参数name & phoneno 都将是一个列表,在index [0] 将是 thisGuyindex[1] 将是 69420

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 2018-04-05
      • 1970-01-01
      相关资源
      最近更新 更多