我需要打印一张如下所示的圣诞树:
/\
/ \
/ \
到目前为止,这是我的代码:
for count in range (0,20):
variable1 = count-20
variable2 = count*2
print('{0:{width1}}{1:{width2}}' .format('/','\\', width1=variable1 , width2=variable2))
我使用的是Python 3.5。编码说不允许用sstring格式说明符
答案 0 :(得分:1)
如果你可以使用不同的方法,这个方法使用生成器和字符串连接
n=10
print('\n'.join(' '*(n-i)+'/'+' '*2*i+'\\' for i in range(n)))
产生
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
或者,如下面@zvone所建议的,为什么不添加一些随机装饰?
print('\n'.join(' '*(n-i)+'/'+''.join(random.choice(' # *') for _ in range(2*i))+'\\' for i in range(n)))
产生更美妙的结果(甚至部分由SO&#13的语法分析器点亮)
/\
/*#\
/ ###\
/* # #\
/# *** \
/*# # ## \
/ #* * * # \
/## **## *#*\
/ * # # ## #\
/*# ## *# * * #* \
圣诞快乐!!!
:)
答案 1 :(得分:1)
import builtins
builtins.unicode = str
print (' ',chr(0x2605))
for count in range (20):
print ('{0:>{width1}}{1:>{width2}}' .format('/','\\', width1 = 20-count , width2 = 2*count+1))
print ('-----------------------------------------'
print (' [ ] ')
print (' [ ] ')
print (' [ ] ')
print (' [ ] ')
print (' [ ] ')
print ('-----------------------------------------')
感谢帮助我完成工作的人们!
答案 2 :(得分:0)
以下适用于Python 3.4,我认为它也适用于Python 3.5。
Traceback (most recent call last):
File "/home/dusan/PycharmProjects/untitled1/2.py", line 10, in <module>
powers = list(reversed(powers)) #obrtanje liste
TypeError: 'list' object is not callable
导入部分 - 正如其他人在评论中提到的那样 - 不使用固定宽度进行格式化。
请注意必要的'&gt;'右对齐所需的对齐字符。