python打印如下图案 沙漏由*组成

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/282846564396185.jpeg "#left"多了也不行 少了描述也不行 到底要怎样


##题目1
count = 0
for i in range(100,1000):
    a,b,c = str(i)
    if i == pow( int(a),3 ) + pow( int(b),3 ) + pow( int(c),3 ):
        print(i,end=' ')
        count += 1
        if count == 5:
            count = 0
            print()
print()

##题目2
for i in range(4,0,-1):
    print(' '*(4-i),end='')
    print( '*' * (2*i-1) )
for i in range(2,5,1):
    print(' '*(4-i),end='')
    print( '*' * (2*i-1) )

【以下回答由 GPT 生成】

我可以通过嵌套循环和条件语句来打印出沙漏形状的图案。下面是具体的解决方案:

  1. 首先,我们需要确定沙漏的大小。假设用户输入的是一个整数n,代表沙漏的高度。

  2. 我们可以将沙漏分为上半部分和下半部分。上半部分是由n行组成的,下半部分是由n-1行组成的。因此,我们可以设置一个变量n_upper表示上半部分的行数,设置一个变量n_lower表示下半部分的行数。

  3. 我们可以使用两个嵌套的循环来打印沙漏的上半部分。外层循环控制行数,内层循环控制每行的打印内容。根据行数和当前行的位置,我们可以判断出应该打印多少个星号和空格。

for i in range(n_upper):
    for j in range(n_upper - i - 1):
        print(" ", end="")
    for j in range(i * 2 + 1):
        print("*", end="")
    print()
  1. 类似地,我们可以使用两个嵌套的循环来打印沙漏的下半部分。外层循环控制行数,内层循环控制每行的打印内容。根据行数和当前行的位置,我们也可以判断出应该打印多少个星号和空格。
for i in range(n_lower):
    for j in range(i + 1):
        print(" ", end="")
    for j in range((n_lower - i) * 2 - 1):
        print("*", end="")
    print()
  1. 将上半部分和下半部分的代码整合在一起,就可以打印出完整的沙漏形状的图案。
n = int(input("请输入沙漏的高度:"))
n_upper = n
n_lower = n - 1

for i in range(n_upper):
    for j in range(n_upper - i - 1):
        print(" ", end="")
    for j in range(i * 2 + 1):
        print("*", end="")
    print()

for i in range(n_lower):
    for j in range(i + 1):
        print(" ", end="")
    for j in range((n_lower - i) * 2 - 1):
        print("*", end="")
    print()

这样,我们就可以根据用户输入的高度打印出对应的沙漏形状的图案了。请注意,输入的高度应该是大于等于2的整数。

注意: 以上代码以Python为基础,但在某些平台或环境中可能无法正常工作。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^