我正在尝试在 Python 2.7.10 中创建一个算法,该算法接受用户输入,将其拆分并将单词放入列表中,然后从该列表中取出所有单词并以特定方式打印它们。
usr_input = raw_input(' > ')
input = usr_input.split(' ')
print "You think that the painting is:"
print "%s" + ", %s" * len(input) + "." % ( > ? < )
%s 格式化程序用作占位符。问题在于,作为字符串一部分打印的占位符的数量不固定,它等于 len(input)
。因此我不知道如何为这些格式化程序分配值。 (这是括号内的“> ? < ”部分。)
注意:由于这仅用于测试目的,我们假设用户仅输入字符串,而不是整数等,因此不需要 %r 格式化程序。
所需的输出应如下所示:
> nice pretty funny
You think that the painting is:
nice, pretty, funny.
我知道这可以使用 str.join(str)
方法来实现,但是有没有办法按照我上面的解释来实现呢?谢谢。
最佳答案
使用print ("%s"+ ", %s"* (len(input) - 1) + ".") % tuple(input)
但是,IMO ', '.join(input) + '.'
更好:)
关于python - 在 Python 2.7 中使用多个占位符格式化程序打印字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36918438/