首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本打印无序

脚本打印无序
EN

Stack Overflow用户
提问于 2013-01-27 02:42:32
回答 1查看 909关注 0票数 3

我使用的是Python 2.7.3,并试图理解为什么这个脚本不按顺序执行print语句。即,在第二个for循环之后打印"-“。

我的脚本:

代码语言:javascript
复制
def cheeseshop(kind, *arguments, **keywords):
    print "-- Do you have any", kind, "?"
    print "-- I'm sorry, we're all out of", kind
    for arg in arguments:
        print arg
    print "-" * 40
    keys = sorted(keywords.keys())
    for kw in keys:
        print kw, ":", keywords[kw]

cheeseshop("Limburger", "It's very runny, sir.",
           "It's really very, VERY runny, sir.",
           {'shopkeeper':'Michael Palin',
           'client':"John Cleese",
           'sketch':"Cheese Shop Sketch"})

输出:

代码语言:javascript
复制
-- Do you have any Limburger ?
-- I'm sorry, we're all out of Limburger
It's very runny, sir.
It's really very, VERY runny, sir.
{'shopkeeper': 'Michael Palin', 'sketch': 'Cheese Shop Sketch', 'client': 'John Cleese'}
----------------------------------------

为什么要像预期的那样在字典之前打印"-"*40?

EN

回答 1

Stack Overflow用户

发布于 2013-01-27 02:45:10

您没有将字典作为关键字传入。使用**语法执行此操作:

代码语言:javascript
复制
cheeseshop("Limburger", "It's very runny, sir.",
           "It's really very, VERY runny, sir.",
           **{'shopkeeper':'Michael Palin',
           'client':"John Cleese",
           'sketch':"Cheese Shop Sketch"})

或者根本不用字典:

代码语言:javascript
复制
cheeseshop("Limburger", "It's very runny, sir.",
           "It's really very, VERY runny, sir.",
           shopkeeper='Michael Palin',
           client="John Cleese",
           sketch="Cheese Shop Sketch")
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14540256

复制
相关文章

相似问题

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