2a-1
行的菱形。菱形从图像来说,是一个三角形加上一个倒三角组成的,所以可以用双循环打印两个三角形,打印倒三角形的条件是第一次循环计数器i的值等于a。input()
函数当使用函数input()
时通过在提示末尾包含一个空格,可将提示与用户输入分开,让用户清楚地知道其输入始于何处
有时候,提示可能超过一行,例如,你可能需要指出获取特定输入的原因。在这种情况下,可将提示存储在一个变量中,再将该变量传递给函数input()
。这样,即便提超过一行,input()
语句也非常清晰。
使用函数input()
时,Python将用户输入解读为字符串;为解决这个问题,可使用函数int()
,它让Python将输入视为数值。函数int()
将数字的字符
串表示转换为数值表示
switch
语句or
表达if
和while
语句后面的冒号:
n=input('请输入菱形每边星星个数,n= ')
n=int(n)
m=t=2*n-1 #双重赋值
while m>=1:
if(m==t or m==1):#打印第一行和最后一行
print(' '*n + '*' + ' '*4*(n-1))
elif(m>=n):#打印下半部分
print(' '*(m-n+1)+'*'+' '*(2*(t-m)-1)+' *')
else:#打印上半部分
print(' '*(n-m+1)+'*'+' '*(2*m-3)+' *')
m-=1
运行结果
n=input('请输入菱形每边星星个数,n= ')
n=int(n)
s=t=2*n-1
while s>=1:
if(s==t or s==1):
print(' '*(n-1)+'*'+' '*4*(n-1))
elif(s<=n):
print(' '*(n-s)+'*'*(2*s-1))
else:
print(' '*(s-n)+'*'*(2*(t-s)+1))
s-=1