1,打印如下图所示菱形
*
***
*****
*******
*****
***
*
方法一:
num = int(input('>>>'))
for i in range(-num//2,num//2+1):
if i < 0:
print(' '*(-i)+'*'*(num+2*i))
else:
print(' '*i+'*'*(num-2*i))
方法二:
for i in range(-3,4):
print(' '*abs(i)+'*'*(7-2*abs(i)))
2,打印下图所示对顶三角形
*******
*****
***
*
***
*****
*******
方法一:
n=7
e=n//2
for i in range(-e,n-e):
prespace = -i if i<0 else i
print(' '*(e-prespace)+'*'*(2*prespace+1))
3,打印下图所示闪电形状
*
**
***
*******
***
**
*
for i in range(-3,4):
if i<0:
print(' '*(-i)+'*'*(i+4)+' '*3)
elif i>0:
print(' '*(3)+'*'*(4-i)+' '*i)
else:
print('*'*7)
4,打印100以内的斐波那契数列
方法一:
a=0
b=1
c=0
print(a,b,end=',')
while True:
c=a+b
if c>100:
break
print(c,end=',') #将结果输出到同一行,并以,隔开
a=b
b=c
方法二:精简版
a=0
b=1
c=0
while c < 100:
print(c)
c=a+b
a, b = b,c #封装与解构,等号右边的先算
方法三:递归
# 递归方式实现 生成前20项
lis =[]
for i in range(20):
if i ==0 or i ==1:#第1,2项 都为1
lis.append(1)
else:
lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和
print(lis)
5,打印九九乘法表
方法一:
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%2d" % (i,j,i*j),end=" ")
print (" ")
1*1= 1
2*1= 2 2*2= 4
3*1= 3 3*2= 6 3*3= 9
4*1= 4 4*2= 8 4*3=12 4*4=16
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
方法二:使用format函数更方便
for i in range(1,10):
line = ''
for j in range(1,i+1):
line += '{}*{}={:<3}' .format(i,j,i*j)
print(line)
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
方法三:运用了三元表达式
for i in range(1,10):
line = ''
for j in range(1,i+1):
line += '{}*{}={:<{}}' .format(i,j,i*j,2 if j<4 else 3)
print(line)
# 与方法二相比,间隔变一样了
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=124*4=16
5*1=5 5*2=105*3=155*4=20 5*5=25
6*1=6 6*2=126*3=186*4=24 6*5=30 6*6=36
7*1=7 7*2=147*3=217*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=168*3=248*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=189*3=279*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
方法四:打印右对齐九九乘法表
for i in range(1,10):
for k in range(1,i):
print (end=" ")
for j in range(i,10):
print("%d*%d=%2d" % (i,j,i*j),end=" ")
print("")
1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5 1*6= 6 1*7= 7 1*8= 8 1*9= 9
2*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*3= 9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*6=36 6*7=42 6*8=48 6*9=54
7*7=49 7*8=56 7*9=63
8*8=64 8*9=72
9*9=81
方法五:用format函数打印右对齐九九乘法表
for i in range(1,10):
s = ''
for j in range(i,10):
s += '{}*{}={:<{}} '.format(i,j,i*j, 2 if j<4 else 3)
print('{:>80}'.format(s))
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*6=36 6*7=42 6*8=48 6*9=54
7*7=49 7*8=56 7*9=63
8*8=64 8*9=72
9*9=81
6,给一个数,判断它是否是素数(质数)
a=int(input('Please input a number greater than 1 : '))
if a == 2:
print('''It's a Prime number''')
for i in range(2,a):
if a%i == 0:
print('''It's not a Prime number''')
break
else:
print('''It's a Prime number''')