**-1

作者: 憧憬001 | 来源:发表于2018-11-09 21:19 被阅读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整除的数的个数

    编程实现(for和while各写⼀一遍):
      1. 求1到100之间所有数的和、平均值
    # for 循环
    sum1 = 0  # 存储和
    avg1 = 0    # 存储平均值
    num1 = 0   # 记录次数
    for i in range(101):
        sum1 += i
        num1 += 1
    print("1到100之间所有数的和: %d" % sum1)
    print("1到100之间所有数的平均值:%.2f" % (sum1 / num1))
    
    # while 循环
    sum2 = 0
    i = 1
    while i <= 100:
        sum2 += i
        i += 1
    print("1到100之间所有数的和: %d" % sum2)
    print("1到100之间所有数的平均值: %.2f" % (sum2/i))
    
    >>>>
    1到100之间所有数的和: 5050
    1到100之间所有数的平均值:50.00
    1到100之间所有数的和: 5050
    1到100之间所有数的平均值: 50.00
    
      1. 计算1-100之间能3整除的数的和
    # for循环
    sum1 = 0   # 存储和
    for i in range(101):
        if i % 3 == 0:
            sum1 += i
    print("1-100之间能3整除的数的和: %d" % sum1)
    
    # while 循环
    sum2 = 0
    i = 1
    while i <= 100:
        if i % 3 == 0:
            sum2 += i
        i += 1
    print("1-100之间能3整除的数的和: %d" % sum2)
    
    >>>>
    1-100之间能3整除的数的和: 1683
    1-100之间能3整除的数的和: 1683
    
    
      1. 计算1-100之间不不能被7整除的数的和
    # for循环
    sum1 = 0   # 存储和
    for i in range(101):
        if i % 7 != 0:
            sum1 += i
    print("1-100之间不不能被7整除的数的和: %d" % sum1)
    
    # while 循环
    sum2 = 0
    i = 1
    while i <= 100:
        if i % 7 != 0:
            sum2 += i
        i += 1
    print("1-100之间不不能被7整除的数的和: %d" % sum2)
    
    >>>>
    1-100之间不不能被7整除的数的和: 4315
    1-100之间不不能被7整除的数的和: 4315
    
    4.求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34....
    num = int(input("请输入你需要查阅斐波那契数列列中第n个数的值"))
    # n1,n2记录最开始的两个数
    n1 = 1
    n2 = 1
    result = 0
    if num <= 0:
        print("请输入正整数")
    elif num == 1:
        print("斐波那契数列列中第1个数的值是1")
    elif num == 2:
        print("斐波那契数列列中第2个数的值是1")
    else:
        for _ in range(2, num):
            result = n1 + n2
            n1 = n2
            n2 = result
        print("斐波那契数列列中第%d个数的值是:%d" % (num, result))
    
    # 简写
    n1 = 1
    n2 = 1
    result = 1
    num = int(input("请输入n的值"))
    for _ in range(3, num + 1):
        result = n1 + n2
        n1, n2 = n2, result
    
    print("斐波那契数列中第%d个数的值是:%d" % (num, result))
    
    5.判断101-200之间有多少个素数,
    • 并输出所有素数。判断素数的⽅法:
      ⽤用⼀个数分别除2到sqrt(这个 数),
      如果能被整除,则表明此数不不是素数,反之是素数
    for i in range(101, 201):
        for j in range(2, i):
            if i % j == 0:
                break
        else:
            print(i)
    
    6. 打印出所有的水仙花数,所谓⽔仙花数是指一个三位数,
    • 其各位数字⽴立⽅方和等于该数本身。
      例例如:153是 ⼀一个⽔水仙花数,因为153 = 1^3 + 5^3 + 3^3
    for i in range(100, 1000):
        gewei = i % 10
        shiwei = i // 10  % 10
        baiwei = i // 100 % 10
        if gewei**3 + shiwei**3 + baiwei**3 == i:
            print(i)
    # 方法二
    for i in range(100, 1001):
        if int(str(i)[0])**3 + int(str(i)[1])**3 + int(str(i)[2])**3 == i:
            print(i)
    >>>>
    153
    370
    371
    407
    
    7.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...
    • 求出这个数列的第20个分数
      分子:上一个分数的分子加分⺟
      分母: 上一个分数的分子 fz = 2 fm = 1 fz+fm / fz
    fz = temp = 2
    fm = 1
    for _ in range(1, 20):
    
        fz += fm
        fm = temp
        temp = fz
    print("%d/%d" % (fz, fm))
    
    >>>>
    17711/10946
    
    8.给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数字
    num = input("请输入一个正整数")
    len1 = len(num)
    print("%s是%d位数" % (num, len1))
    print(num[::-1])
    

    相关文章

      网友评论

          本文标题:**-1

          本文链接:https://www.haomeiwen.com/subject/doaoxqtx.html