循环练习题

Day5 循环作业题

  1. 使用for循环计算50~150中所有能被3整除但是不能被5整除的数的和

    s = 0
    for z in range(50,151):
        if z % 3 == 0 and z % 5 != 0:
            s += z
    print(s)
    # 2682
    
  2. 统计100以内个位数是2并且能够被3整除的数的个数

    s = 0
    for z in range (0,101):
        if (z % 10 / 2 == 1) and (z % 3 ==0):
            s += 1
    print(s)
    
  3. 写程序计算 n 的阶乘 n! 的结果

    n = int(input('请输入一个数:'))
    s = 1
    for z in range(1,n+1):
        s *= z
    print(s)
    
  4. 输入任意一个正整数,求他是几位数?

    注意: 这儿不能使用字符串,只能用循环 (会用到while循环)

    n =int (input('请输入一个正整数:'))
    z = 1
    while True:
        if n // 10 > 1:
            n = n // 10 
            z += 1
            if n // 10 <= 1 and 10 < n < 20:
                    z += 1
            if n // 10 <= 1:
                break
    
    print(z)
    print('----------------------------------------------------')
    c = 0
    a =int(input('请输入一个整数:'))
    while a !=0:
        a = a // 10
        c += 1
    print(c)
    
  5. 判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)

    注意:会用break

  6. 判断101-200之间有多少个素数,并输出所有素数。

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

  8. 求1+2!+3!+…+20!的和

    s =1
    c = 1
    for z in range(1,21):
        c *= z
        s += c
    print(s)
    # 2561327494111820314
    
  9. 控制台输出三角形

    a.

    num  = int(input('请输入一个数:'))
    for z in range(num,0,-1):
        print(z* '*')
    
       a.根据n的值的不同,输出相应的形状
       n = 5时             n = 4
       *****               ****
       ****                ***
       ***                 **
       **                  *
       *
       
      
       b.根据n的值的不同,输出相应的形状(n为奇数)
       n = 5               n = 7
         *                    *
        ***                  ***
       *****                *****
                           *******
       
       c. 根据n的值的不同,输出相应的形状
       n = 4
          1
         121
        12321
       1234321
       
       n = 5
           1
          121
         12321
        1234321
       123454321
    
  10. 输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)

  11. 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。

  12. 输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

  13. 本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。

    m = 10000
    for z in range(1,6,1):
        m =10000*(1+0.003)**z
    print(m)
    
  14. 求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值