Python在打印变量后打印文本
所以我想在打印变量后打印一些文本,如下所示:Python在打印变量后打印文本,python,variables,printing,Python,Variables,Printing,所以我想在打印变量后打印一些文本,如下所示: print('Blablabla' var ' blablabla') print('The enemey gets hit for %d' % damage) 现在看起来是这样的: print('Blablabla' var ' blablabla') print('The enemey gets hit for %d' % damage) 我想在打印伤害变量后打印“生命值”一词。只需包括生命值: print('The enemey g
print('Blablabla' var ' blablabla')
print('The enemey gets hit for %d' % damage)
现在看起来是这样的:
print('Blablabla' var ' blablabla')
print('The enemey gets hit for %d' % damage)
我想在打印伤害变量后打印“生命值”一词。只需包括生命值:
print('The enemey gets hit for %d hitpoints' % damage)
格式化操作符%
功能非常强大,请查看。但是,计划逐步淘汰,以利于:
或者,您可以将损坏
的值转换为字符串,并将字符串与+
连接起来:
print('The enemy gets hit for ' + str(damage) + ' hitpoints')
只需在您的字符串中添加
命中点
:
print('the enemy gets mutilated for %d hitpoints!' % damage)
这样看起来好多了;0)
(对于Python3.6及以上版本)
print({}敌人因}生命点而被击中)。格式化(伤害))
。。。您也可以使用%d
,但是str.format
是新方法。这是一个令人困惑的问题。似乎很难理解将命中点
放入格式字符串本身有什么困难。你能解释一下是什么让你对格式字符串感到困惑吗?是关于%
字符串运算符的问题吗?%d
是整数的格式说明符,而不是fileobject?!你说得对,我把%d和fp-decimal(%f)混淆了,这肯定不是我想要的。好吧,python文档称它们为整数小数%I和浮点小数,在我看来这是一种混淆的命名约定,因为整数既没有小数点,也没有小数值。%d立刻给我的印象是与十进制有关(确实如此),但不是我所期望的那样。文件对象从来不是解决方案的一部分,您可能会将fp与fo混淆?根据定义,以10为基数的数字是“十进制值”。小数点后的数字部分是“分数”,而不是“十进制”。二进制数在二进制点后的部分是否称为“二进制”?我认为不是。我觉得这个错误现在已经得到了适当的解决、承认和纠正。我不认为有必要对“d”与“I”相同,而不是我所认为的“f”这一简单混淆进行这么多的解释。为了与印刷相结合,我更喜欢印刷的风格选择:印刷('enemey被击中',str(伤害),'hitpoints')@hexparrot,同样有效,但它需要了解varargs,并且不是通用的,因为它需要print
作为一个函数来获得预期的输出。此外,连接是一个通用的概念,在打印之外很有用。@phihag抱歉,我不是母语人士,所以有时听起来可能有点粗糙。。)