【问题标题】:Print output of loop in dictionary format以字典格式打印循环输出
【发布时间】:2021-04-25 08:44:56
【问题描述】:

我的程序查询数据库并返回今天、明天和即将到来的所有生日。然而,我希望即将到来的生日在一行而不是几行。这是它的外观: 生日在不同的行:

这是我的代码:

def in_a_week():
    coming_up = datetime.now()

    with open('bDay_db.json')as read_file:
        bdays = json.load(read_file)

    for x in range(2, 5):
        soon = (coming_up + timedelta(days=x))
        upcoming = (soon.strftime('%b %d'))
        #pprint.pprint(upcoming)

   

        if upcoming in bdays.values():
            print()
            print("Birthday match found in next couple of days: ")
            print()
            print([kv for kv in bdays.items() if kv[1] in upcoming])
            print()

【问题讨论】:

    标签: python dictionary printing


    【解决方案1】:
    def in_a_week():
        coming_up = datetime.now()
    
        with open('bDay_db.json')as read_file:
            bdays = json.load(read_file)
    
        for x in range(2, 5):
            soon = (coming_up + timedelta(days=x))
            upcoming = (soon.strftime('%b %d'))
            #pprint.pprint(upcoming)
    
       
            print("Birthday match found in next couple of days: ")
            if upcoming in bdays.values():
                print([kv for kv in bdays.items() if kv[1] in upcoming], end = ", ")
            print()
    

    这应该可行!

    出了什么问题? 正如您所说,您希望日期在同一行。因此,首先,您使用的是 print 语句,它在输出中添加了一个换行符。此外,Birthday match found in next couple of days:statement 在循环内。那应该只在开头打印,对吧?

    解决了什么问题? 我首先删除了打印语句。然后end=", " 确保在打印语句之后,您的下一个输出保持在同一行。在这里,为了增加功能,我在里面放了一个逗号,所以看起来很漂亮。另外,正如我已经提到的,Birthday match found in next couple of days: 被置于循环之外。最后,我放了一个空白的 print 语句,确保你的输出在你跳出循环后换行。

    【讨论】:

    • 一个好的答案应该解释问题是什么以及你做了什么来解决它;)
    • @edusanketdk 不幸的是,这并没有太大变化,所以我正在寻找的输出是这样的:在接下来的几天里找到生日 [('shrek': 'Apr 27')] , ['Fiona':'Apr 28)]...
    • 嘿,只需将 end=" " 放在要打印“接下来几天找到生日”的打印语句中。就像循环内的 print 语句中有一个一样。
    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多