我基本上是在尝试使用数字符号和点来绘制菱形。一旦达到指定的大小,我的代码就不会做它应该做的事情。如果大小为 5,则每行应包含 5 个字符。如果给定的大小大于 0,则程序应始终为第一行打印 1 个数字符号,并在每侧打印 1 个点。在数字符号的左侧,代码应打印大小为#of diamonds/2 的点数,并且应在数字符号右侧打印相同数量的点。最终,当#signs 的数量达到指定大小时,它应该开始从#of 数字符号中减去2,直到#of 数字符号等于1/ 或不再是正数。数字符号将形成一个菱形。另外,我如何检查输入以确保它是一个奇数的正数。
size = 5
diamonds = 1
dots = size - 1
count = 2
while count != size:
print (dots/2)*('.') + diamonds*('#') + (dots/2)*('.')
if diamonds == size:
break
diamonds += 2
dots -= dots / 2
count += 1
while count == size:
diamonds -= 2
print (dots)*('.') + diamonds*('#') + (dots)*('.')
dots += 2