【问题标题】:How can I fix not printing out the correct thing the assignment wants me to print?如何解决不打印作业要我打印的正确内容的问题?
【发布时间】:2019-10-04 12:43:08
【问题描述】:

我有一个任务,我必须使用字典来制作“电话簿”。

我已经尝试重新观看视频并反复试验了大约一个小时,但没有任何变化。

我的代码:

phone_book = {}

while True:
    name = input("Enter a name: ")

    if name in phone_book:
        print(phone_book[name])
    elif name == "":
        break
    else:
        phone_number = input("Enter a phone number in the following format[(123)456-7890)]: ")
        phone_book[name] = phone_number

    print(phone_book)

分配要求的校验码显示:

  1. 您应该打印最终的字典。确保直接打印出字典(不要遍历它)

预期结果:

Phone number: 1234
Phone number: 5678
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}

我的结果:

{'Karel': '1234'}
{'Tracy': '5678', 'Karel': '1234'}
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}
1234
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}
5678
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}
  1. 您应该打印字典中已经存在的姓名的电话号码

你的结果:

{'Karel': '1234'}
{'Tracy': '5678', 'Karel': '1234'}
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}
1234
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}
5678
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}

【问题讨论】:

    标签: python


    【解决方案1】:

    您在循环的主体中留下了print(phone_book),这意味着它将在循环的每个循环中执行,如果您只想在字典被填充后打印它,您应该把它放在外面循环。

    phone_book = {}
    
    while True:
        name = input("Enter a name: ")
    
        if name in phone_book:
            print(phone_book[name])
        elif name == "":
            break
        else:
            phone_number = input("Enter a phone number in the following format[(123)456-7890)]: ")
            phone_book[name] = phone_number
    
    print(phone_book)
    

    【讨论】:

      【解决方案2】:

      只需将打印从循环中取出。只是为了举例,我稍微改动了一下代码。

      phone_book_new = {}
      
      
      def phone():
          while True:
              name = input('Name: ')
              number = int(input('Number: '))
              phone_book = {name: number}
              phone_book_new.update(phone_book)
              break
      
      
      phone()
      print(phone_book_new)
      

      【讨论】:

        猜你喜欢
        • 2022-12-02
        • 2022-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-24
        • 1970-01-01
        • 2022-12-17
        相关资源
        最近更新 更多