我试图在python中创建这个模式:
int orientation = getResources().getConfiguration().orientation;
if(orientation == Configuration.ORIENTATION_LANDSCAPE) {
mAutoFitTextureView.setAspectRatio(width, height);
} else {
mAutoFitTextureView.setAspectRatio(width, width);
}
到目前为止,这是我的计划,我已经提出:
*
* *
* * *
* *
*
我做错了什么?
答案 0 :(得分:2)
好的,首先你可以创建一个数字列表,代表每行中的星数。
number_of_stars = 5
i_list = list(range(number_of_stars))
# extend the list by its inverse i_list[::-1]
# but exclude the first item
i_list.extend(i_list[::-1][1:])
print(i_list) # prints: [0, 1, 2, 3, 4, 3, 2, 1, 0]
现在您可以通过列表并打印*
for i in i_list:
print('* ' * i)
但这没有正确对齐。通过在左侧添加多个空格,可以归档解决方案:
for i in i_list:
print(' ' * (number_of_stars - i) + '* ' * i)
请注意,在python中,可以使用乘法符号重复一个字符串:
print('a'*5) # prints: aaaaa
答案 1 :(得分:2)
感谢您的帮助,我为该问题编写了一个功能代码。它应该使用while循环。 这就是我所做的:
width = int(input("Width: "))
i = 1
while i < width*2:
if i < width:
print " " * (width-i) + "* " * i
else:
print " " * (i-width) + "* " * (2*width-i)
i = i + 1
答案 2 :(得分:1)
注意你有
对于钻石的直立三角形部分(包括大部分)。那你有
在不抛弃答案的情况下,尝试分析我刚刚指出的某种模式。它可以通过2个循环实现(for或while,具体取决于您的喜好)。