比较简单
- 求1到100之间所有数的和、平均值
sum=0
average=0
for x in range(1,100):
sum+=x
average=sum/100
print(sum,average) #4950 49.5
- 计算1-100之间能3整除的数的和
sum=0
for x in range(1,100):
if x % 3 ==0:
sum+=x
print(sum) #1683
- 计算1-100之间 能被7整除的数的和
sum=0
for x in range(1,100):
if x % 7 ==0:
sum+=x
print(sum) #735
稍微困难:
- 求斐波那契数 中第n个数的值:1,1,2,3,5,8,13,21,34....
方法一:函数嵌套
def fibo(n):
if n==1 or n==2:
return 1
else:
return fibo(n-1)+fibo(n-2)
print(fibo(7)) #13
方法二:循环
n=7
if n==1 or n==2:fibo=1
fibo1=1;fibo2=1
for x in range(3,n+1):
fibo=fibo1+fibo2
temp=fibo2
fibo2=fibo
fibo1=temp
print(fibo) #13
- 判断101-200之间有多少个素数,并输出所有素数。判断素数的 法: 个数分别除2到sqrt(这个数),如果能被整除,则表明此数 是素数,反之是素数
sushu=[]
for x in range(101,200):
for i in range(2,x):
if x % i ==0:break
else:
sushu.append(x)
print(len(sushu),sushu)
#21 [101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
- 打印出所有的 仙花数,所谓 仙花数是指 个三位数,其各位数字 和等于该数本身。 如:153是个 仙花数,因为153 = 1^3 + 5^3 + 3^3
for x in range(100,1000):
x=str(x)
if int(x)==sum(map(lambda y:y**3,map(int,x))):print(x)
#153 370 371 407
- 有 分数序 :2/1,3/2,5/3,8/5,13/8,21/13...求出这个数 的第20个分数
分 :上 个分数的分 加分 分 : 上 个分数的分 fz = 2 fm = 1 fz+fm / fz
n=20
num1=2;num2=1
for x in range(1,n):
temp=num1
num1=num1+num2
num2=temp
print(str(num1)+'/'+str(num2)) #17711/10946
- 给 个正整数,要求:1、求它是 位数 2.逆序打印出各位数字
num=123456
print(len(str(num)),str(num)[::-1])
网友评论