Python:模式显示
我刚开始学习Python,需要帮助创建此模式:Python:模式显示,python,nested-loops,Python,Nested Loops,我刚开始学习Python,需要帮助创建此模式: ****** ***** **** *** ** * 我目前有以下代码: base = 6 for row in range (base): for col in range (row+1): print('*', end='') print() 即: * ** *** ***
******
*****
****
***
**
*
我目前有以下代码:
base = 6
for row in range (base):
for col in range (row+1):
print('*', end='')
print()
即:
*
**
***
****
*****
******
我觉得你把事情弄得太复杂了
base = 6
for i in range(base, 0, -1):
print "*"*i
你会得到:
******
*****
****
***
**
*
想想你的范围是如何设置的。如果要在打印“******”之前打印“******”,需要让python知道在5之前打印6。通过倒数你的射程来做到这一点
我在这里做到了:
for i in range(base, 0, -1):
它从基数开始(设置为6),然后倒数-1,一直到零。这里需要的是跟踪您需要多少空格,您几乎已经有了相应的代码,以及您需要多少空格。然后,对于每一行,您需要打印适当数量的
'
s和适当数量的'*'
s。由于我的猜测是希望总宽度保持不变,因此需要x
s的数量和n-x
s的数量,其中n
是所需的行数/总宽度
比如说
n=6; print('\n'.join(' '*x+'*'*(n-x) for x in range(0,n)))
会有用的
但是,如果这是一个家庭作业问题,我建议不要提交上述解决方案。最好用标准的方式写出来。因为这可能是一些家庭作业或@cge上面指定的内容,我只希望两年的时间差就足够了,我写这个答案是为了告诉很多人在Python中不太了解的东西
for i in range(6):
for x in range(6):
if i!=0:
print(" ",end="")
i-=1
else:
print("*",end="")
print()
因此,我们可以看到,使用打印功能的上述附加功能,我们可以按照您的要求使用和创建此类图案。检查问题以获取线索。您的问题是什么?