首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能不打印出作业要我打印的正确的东西?

我怎样才能不打印出作业要我打印的正确的东西?
EN

Stack Overflow用户
提问于 2019-10-04 12:43:08
回答 2查看 47关注 0票数 0

我有一项任务,在那里我必须使用字典来制作一本“电话簿”。

我已经试着重新观看视频和试错了大约一个小时,没有改变。

我的代码:

代码语言:javascript
复制
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. 你应该打印最终的字典。确保直接打印出字典(不要迭代)

预期结果:

代码语言:javascript
复制
Phone number: 1234
Phone number: 5678
{'Tracy': '5678', 'Karel': '1234', 'Steve': '9999'}

我的结果是:

代码语言:javascript
复制
{'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. 您应该打印字典

中已经存在的名称的电话号码。

你的结果:

代码语言:javascript
复制
{'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'}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-04 12:51:19

您已经将print(phone_book)留在了循环的主体中,这意味着它将在循环的每一个周期中执行,如果您只想在字典填充之后打印它,那么应该将它放在循环之外。

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2019-10-04 14:08:14

把指纹从循环中拿出来。我对代码做了一些改动,只是为了一个例子。

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58236691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档