我正在尝试编写一个python程序来打印2 ^ i。适用范围1..10。对于每个元素,我不希望显示实际的总和,而是显示如下代码:
When i=1, you have 2^1=2
When i=2, you have 2^2+2^2=2*2^2
When i=3, you have 2^3+2^3+2^3=3*2^3
这是我到目前为止所写的内容。
n = 10
for i in range(1,n+1):
print "2**", i, "equal to:", 2**i
此代码的问题是它显示2 **的结果,而不是我上面提到的格式。任何帮助将不胜感激我被卡住了。
答案 0 :(得分:0)
我相信您只想将i
包裹为str
,而不是int
。
如果是,则代码的一个衬垫打印语句变为:
print "2^{}{}".format(i, "+2^{}".format(i)*(i-1)), "equal to: ", i, "*2^", i
Python2 和 Python3 支持的清洁版:
n = 10
for i in range(1,n+1):
base = '+2^{}'.format(i)
result = ' equal to: {0}*2^{0}'.format(i)
print('{}{}{}'.format(base[1:], base*(i-1), result))