Day4-homework

读程序,总结程序的功能:

1.
numbers=1 
for i in range(0,20): 
 numbers*=2 
print(numbers) 
# 计算2的20次方,遍历20次,number这个变量乘2乘了20次
summation=0
num=1
while num<=100:
 if (num%3==0 or num%7==0) and num%21!=0:
     summation += 1
 num+=1
print(summation)
# 计数出1~100中能被3或7整除,但是不能被3和7同时整除的数的个数

编程实现(for和while各写一遍):

  1. 求1到100之间所有数的和、平均值
sum1 = 0
average = 1
for num1 in range(1,101):
    sum1 += num1
    average = sum1 / 101
print('和:',sum1,'平均值:',average)

while循环:

num = 1
num1 = 0
while num<=100:
    num1 += num
    num += 1
print('1到100的和为:',num1)
print('1到100的和的平均值为:',num1/100)
  1. 计算1-100之间能3整除的数的和
sum2 = 0
for num2 in range(1,101):
    if num2 % 3 == 0:
        sum2 += num2
print('1~100中能被3整除的数的和',sum2)
num = 3
num1 = 0
while num<=100:
    if num%3 == 0:
        num1 += num
    num += 1
print('1到100中能被3整除的数的和为:',num1)
  1. 计算1-100之间不能被7整除的数的和
sum3 = 0
for num3 in range(1,101):
    if num3 % 7 != 0:
        sum3 += num3
print('1~100中不能被7整除的数的和',sum3)
num = 0
num1 = 0
while num<=100:
    if num%7 != 0:
        num1 += num
    num += 1
print('1到100中能被3整除的数的和为:',num1)
  1. 求斐波那契数列中第n个数的值:1,1,2,3,5,8,13,21,34....
n = int(input('请输入一个数'))
n = n+1
num4 = 0
sum4 = 1
while n > 2:
    n = n-1
    sum4 +=  num4
    num4 = sum4 -num4
print(sum4)
  1. 判断101-200之间有多少个素数,并输出所有素数。判断素数方法:用一个数分别除2到sqrt(这个 数),如果能被整除,则表明此数不是素数,反之是素数
num = 0
for sqrt in range(101,201):
    for i in range(2,sqrt):
        if sqrt % i == 0:
            break
    else:
        num += 1
        print(sqrt)
print('个数',num)
  1. 打印出所有的水仙花数,所谓仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是
    一个一仙花数,因为153 = 1^3 + 5^3 + 3^3
for num5 in range(100,1000):
    a = num5//100
    b = num5%100//10
    c = num5%100%10 
    if num5 == a**3 + b**3 + c**3:
        print(num5)
  1. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数
    分子:上一个分数的分子加分母 分母: 上一个分数的分子fz = 2 fm = 1 fz+fm / fz
fz = 2
fm = 1
s = 0
n = 1
while n < 20:
    n += 1
    s = fz
    fz = fz + fm
    fm = s
print(fz,'/',fm)
  1. 给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数字
num=input('请任意输入一个数')
a = int(num)
n=0
while a>=1:
    a//=10
    n+=1
print(num,'是',n,'位数')
while n>0:
    print(num[n-1:n]) #切片
    n -= 1

你可能感兴趣的:(Day4-homework)