一行代码实现九九乘法表:
print('\n'.join(['\t'.join([f'{y} * {x} = {x * y}' for y in range(1, x+1)]) for x in range(1,10)]))
print('\n'.join(['\t'.join(["%2s*%2s=%2s"%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))
实现九九乘法表
row=1
while row<=9:
col=1
while col<=row:
print('{}*{}={}'.format(col,row,col*row),end='\t')
col +=1
print()
row +=1
斐波那契数列
有一个数列(例如:1,1,2,3,5,8,13...),使用循环求出数列的第n个数,n为从键盘录入的
n=eval(input('请输入n的值:'))
n1=1
n2=1
count=3
if n==1 or n==2:
print(f'第{n}个数为:1')
else:
while count <= n:
nth=n1+n2
n1=n2
n2=nth
count +=1
print(f'斐波那契数列的第{n}个数为{nth}')
1.使用递归函数实现:求第n个斐波那契数列
def fib(n):
if n == 1 or n == 2:
return 1
return fib(n-1) + fib(n-2)
2.求前n个斐波那契数列:
n1=1
n2=1
lst=[0,1,1]
i=4
while i <=1000:
nth = n1+n2
n1=n2
n2=nth
i +=1
lst.append(nth)
print(lst)
打印出正三角形
for i in range(10): 行
for j in range(0, 10 - i): 列
print(end="-")
for k in range(10 - i, 10):
print("*", end=" ")
print("")
求1+2!+3!+...+20!的和
sum = 0
t = 1
for i in range(1,21):
t *= i
sum += t
print(sum)
百钱买百鸡
for I in range(0,21):
for j in range(0,34):
for m in range(0,100,3):
if i+j+m==100and5*i+3*j+m//3==100:
print(i,j,m)
递归求前n个斐波那契数列:
#默认值带出小于或等于2的值
resList = [0,1,1]
def flag(n):
#递归到最后,因为flag(n-1) + flag(n-2)同时执行,n的值为1或2,直接return结果1
if n == 1 or n == 2:
return 1
a = flag(n-1) + flag(n-2)
#判断如果追加的值小于集合最后一个值时,则不添加值
if(a > resList[-1]):
resList.append(a)
return a
n = 10
#因为resList集合有默认值,所以对于n小于2时,不执行函数 flag(),直接在外部处理
if n < 0:
print("n不可以小与0")
elif n == 0:
print("0")
elif n == 1:
print("0,1")
else:
flag(n)
print(resList)