day4作业

基础

读程序,总结程序功能

1.
image.png

2.
image.png

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

1.求1到100之间所有数的和、平均数


image.png

image.png

image.png

2.计算1-100之间能被3整除的数的和


image.png

image.png

image.png

3.计算1-100之间不能被7整除的数的和


image.png

image.png

image.png

稍微困难

  1. 求斐波那契数列中第n个数的值:1,1,2,3,5,8,13,21,34....
n1 = int(input('输入一个数:'))
x1, x2 = 1, 1
n2 = 0
while n2 < n1 - 2:    
    n2 += 1    
    if n2 % 2 != 0:        
        x1 = x1 + x2    
    else:        
        x2 = x1 + x2
if x1 > x2:    
    print(x1)
else:    
    print(x2)

2.判断101-200之间有多少个素数,并输出所有素数。判断素数的⽅法:⽤⼀个数分别除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数

for x in range(101, 201):    
    for y in range(2, x):        
        if x % y == 0:            
            break        
        if y == x-1:            
            print(x)

3.打印出所有的⽔仙花数,所谓⽔仙花数是指⼀个三位数,其各位数字⽴⽅和等于该数本身。例如:153是⼀个⽔仙花数,因为153 = 1^3 + 5^3 + 3^3

for num in range(100, 1000):    
    a = num // 100    
    b = (num - a * 100) // 10    
    c = num - a * 100 - b * 10    
    if num == (a ** 3 + b ** 3 + c ** 3):        
        print(num)

4.有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数

分⼦:上⼀个分数的分⼦加分⺟ 分⺟: 上⼀个分数的分⼦ fz = 2 fm = 1 fz+fm / fz

x1, x2, x3 = 1, 1, 1
num = int(input('输入数字:'))
for _ in range(0, num):    
    x2 = x1    
    x1 += x3    
    x3 = x2
print(x1,x2) 
  1. 给⼀个正整数,要求:1、求它是⼏位数 2.逆序打印出各位数字
num = int(input('输入一个正整数:'))
x = 1
while True:    
    if num // (10 ** x) == 0:        
        print(x)        
        break    
    else:        
        x += 1
for y in range(1, x+1):    
    z = (num % (10 ** y)) // (10 ** (y - 1))    
    print(z, end='')    
    num -= z * 10 ** (y-1)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。