Day5作业

2018-12-28  本文已影响0人  圣咸鱼

基础

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

numbers=1
for  i in range(0,20): 
     numbers*=2
print(numbers)

求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整除的且不能被21整除的数的个数

39

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

  1. 求1到100之间所有数的和、平均值
  2. 计算1-100之间能被3整除的数的和
  3. 计算1-100之间不不能被7整除的数的和

for循环

num = 0
for n in range(1, 101):
    num = num + n
print(num)
print(num / 100)

while循环

m = 0
num1 = 0
while m < 101:
    num1 += m
    m += 1
print(num1)
print(num1 / 100)

for循环

num2 = 0
for n in range(1, 101):
    if n % 3 == 0:
        num2 += n
    n += 1
print(num2)

while循环

h = 0
num3 = 0
while h < 101:
    if h % 3 == 0:
        num3 = num3 + h
    h += 1
print(num3)

for循环

num4 = 0
for n in range(1, 101):
    if n % 7 != 0:
        num4 = num4 + n
    n += 1
print(num4)

while循环

j = 0
num5 = 0
while j < 101:
    if j % 7 != 0:
        num5 = num5 + j
    j += 1
print(num5)

稍微困难

  1. 求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34....
num = int(input("你需要第几项斐波那契数列?"))
n1 = 1
n2 = 1
count = 2
if num == 1 or num == 2:
    print(n1)
else:
    while count < num:
        nth = n1 + n2
        n1 = n2
        n2 = nth
        count += 1
    print(n2)
  1. 判断101-200之间有多少个素数,并输出所有素数。判断素数的方法:用一个数分别除2到sqrt(这个数),如果能被整除,则表明此数不不是素数,反之是素数
p = 0
for n in range(101, 201):
    for m in range(2,n):
        if n % m == 0:
            break
        elif m == (n - 1):
            p = p + 1
            print('%d' % n, end=',')
print('101-200的素数个数为:%d个' % p)
  1. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例例如:153是
print('水仙花数有:', end='')
for a in range(1, 10):
    for b in range(0, 10):
        for c in range(0, 10):
            s1 = a * 100+b * 10+c
            s2 = pow(a, 3)+pow(b, 3)+pow(c, 3)
            if s1 == s2:
                print('%d' % s2,end=',')

一个水仙花数,因为153 = 1^3 + 5^3 + 3^3

  1. 有一分数序列列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列列的第20个分数分子:上一个分数的分子加分母 分母:上一个分数的分子 fz = 2 fm = 1 fz+fm / fz
m = 1
n = 2
p = 0
for s in range(0, 20):
    p = n
    m = p
    n = m + n
print('这个数列列的第20个分数为%d/%d' % (m, n))
  1. 给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数字
str1 = input('请输入一个数字')
print('这个数的倒序排列为:')
print('这是一个%d位数' % len(str1))
for index in range(-1, -len(str1)-1, -1):
    print(str1[index],end='')
上一篇 下一篇

猜你喜欢

热点阅读