用Python绘制菱形
我基本上是用数字符号和点来画菱形。我的代码一旦达到指定的大小,就不会执行它应该执行的操作。如果大小为5,则每行应包含5个字符。如果给定的大小大于0,程序应始终为第一行打印1个数字符号,并在每侧打印1个点。在数字符号的左侧,代码应打印大小为#菱形/2的点的数量,并应在数字符号的右侧打印相同数量的点。最后,当#号的数量达到指定的大小时,它应该开始从#号中减去2,直到#号等于1/或不再是正数。数字符号将形成菱形。另外,我如何检查输入以确保它是奇数、正数用Python绘制菱形,python,python-2.7,Python,Python 2.7,我基本上是用数字符号和点来画菱形。我的代码一旦达到指定的大小,就不会执行它应该执行的操作。如果大小为5,则每行应包含5个字符。如果给定的大小大于0,程序应始终为第一行打印1个数字符号,并在每侧打印1个点。在数字符号的左侧,代码应打印大小为#菱形/2的点的数量,并应在数字符号的右侧打印相同数量的点。最后,当#号的数量达到指定的大小时,它应该开始从#号中减去2,直到#号等于1/或不再是正数。数字符号将形成菱形。另外,我如何检查输入以确保它是奇数、正数 size = 5 diamonds = 1 do
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
从我所能理解的情况来看,以下内容将为您完成工作
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 dots < size - 1:
diamonds -= 2
dots += 2
print '.'*(dots/2) + '#'*diamonds + '.'*(dots/2)
count -= 1
至于第二个问题,即“我如何检查输入以确保它是奇数、正数”,您可以这样做
>>>given_number = input()
3 # I give input as say 3
>>>given_number
3
>>>given_number%2 == 1 # Remainder when divided by 2 is 1 (thus odd number)
True # True, since 3 is an odd number
>>>given_number >= 0 # To check if number is positive
True # 3 is both odd & positive
所以,要检查数字是否为奇数和正数,您应该这样做
if number%2 == 1 and number >= 0:
# do something
您可以发布当前输出和预期输出吗?如果大小不是奇数,则应打印什么?如果大小不是奇数,则输入无效
if number%2 == 1 and number >= 0:
# do something