首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >艰难地学习Python示例5

艰难地学习Python示例5
EN

Stack Overflow用户
提问于 2016-01-05 03:09:49
回答 4查看 97关注 0票数 2

Learn Python the Hard Way的示例5中,我遇到了一个问题。我继续把英寸换算成厘米,把磅换算成公斤。我遇到了一个格式化程序和语法错误read not all arguments converted during string formatting的错误。我的英寸到厘米和磅到公斤都很好,但是它没有显示字符串中的变量。它看起来是这样的:

代码语言:javascript
复制
print "%s is", cm, "tall in centimeters." % name

我在发布变量时遇到了困难,因为它想以某种方式发布。变量不是问题,我不明白为什么我的变量没有使用格式化程序打印。我甚至用%r而不是%s来尝试它,但它仍然不能打印名称变量。谁能告诉我我做错了什么?

EN

回答 4

Stack Overflow用户

发布于 2016-01-05 03:12:40

使用format

代码语言:javascript
复制
print "{0} is {1} tall in centimeters.".format(name, cm)
票数 4
EN

Stack Overflow用户

发布于 2016-01-05 03:12:49

您的字符串格式将在此基础上进行操作:

代码语言:javascript
复制
"tall in centimeters." % name

由于在上述字符串中找不到%s,因此解释器失败。

一种做你想做的事情的方法:

代码语言:javascript
复制
print "%s is %s tall in centimeters." % (name, cm)

代码语言:javascript
复制
print "%s is %.2f tall in centimeters." % (name, cm)

如果你想在两位数上显示cm

票数 2
EN

Stack Overflow用户

发布于 2016-01-05 03:16:44

你可以通过两种常见的方式来实现-

使用旧方法(%):

代码语言:javascript
复制
print "%s is %s tall in centimeters." % (name, cm)

参考资料:https://docs.python.org/2/library/stdtypes.html#string-formatting

使用新方法(format)

代码语言:javascript
复制
print "{} is {} tall in centimeters.".format(name, cm)

参考资料:https://docs.python.org/3/library/string.html#string-formatting

请注意,使用format是一种很好的实践,因为它是一种新的方式。你可以在这个网站上阅读更多关于这些的内容:https://pyformat.info/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34598111

复制
相关文章

相似问题

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