Python:打印空心方块

时间:2015-09-16 04:36:45

标签: python

我一直试图让这个程序打印出一个空心方块,但我一直都会遇到语法错误,任何帮助都会受到赞赏,谢谢。

n=int(input('Please input an integer :')

cnt1 = 0

while (cnt1 < n)

print('*')

print('\n')

cnt1 = 0

while (cnt1 < (n-2)

print('*)

cnt2 = 0

while cnt2 < (n-2)

print (" ")

cnt2++

                   print("*\n")

cnt1++

cnt1 = 0

while(cnt1 < n)

print('*')

cnt1++

1 个答案:

答案 0 :(得分:0)

您粘贴的代码存在许多问题,其中包括:

  • Python没有++运算符,您应该使用+= 1
  • 循环和条件需要跟随冒号:
  • 缩进很远,Python对此非常挑剔。
  • 你的许多括号(和一个单引号)是不平衡的。
  • 打印通常涉及换行符除非您使用end=指定其他内容。

在修复代码的过程中可能还有其他一些我忘记了但是下面的内容可能更多(假设Python 3,因为您使用了print上的括号并使用了{{1}而不是input):

raw_input

当然,对于所有这些反控制的循环,没有实际的需要,Python提供了丰富的功能来保持代码简短和可维护(并且通常应该经常检查问题的用户输入):

n = int(input('Please input an integer : '))
cnt1 = 0
while cnt1 < n:
    print('*',end='')
    cnt1 += 1
print()
cnt1 = 0
while cnt1 < (n-2):
    print('*',end='')
    cnt2 = 0
    while cnt2 < (n-2):
        print (' ',end='')
        cnt2 += 1
    print('*')
    cnt1 += 1
cnt1 = 0
while cnt1 < n:
    print('*',end='')
    cnt1 += 1
print('\n')