美文网首页Python
day4学习总结0615

day4学习总结0615

作者: 星星曦馨 | 来源:发表于2018-07-07 10:14 被阅读0次

    01-homework

    练习: 程序的执行时从上往下执行 解析如下:
    i = (0,1,2,3,4,5,6,7....19)第一次i=0 numbers = 2 ;第二次 i= 1 numbers = 22;第三次 i=2 numbers = 22*2 2^3 ...;第20次 i =19 numbers = 2^201。 求2的20次方

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

    2.统计1-100中能被3整除或者7整除,但是不能被21整除的数的个数num=(1,2,3,4,...100,101)

    summation = 0
    num = 1
    while num <= 100:
    if (num % 3 == 0 or num % 7 == 0) and num % 21 != 0:    #num值能被3和7整除,但是不能被21整除
      summation += 1
      num += 1
    print(summation)
    print (num)
    

    练习:1.求1到100之间所有数的和、平均值
    使用for循环:

    sum1 = 0
    fox x in range(1,101):
      sum1 = sum1 + x
    print (sum1)
    print (sum1/100)
    

    使用while循环:

    sum1 = 0
    x = 1
    while x <= 100:
      sum1 = sum1 + x
      x += 1
    print (sum1)
    print (sum1/100)
    

    2.1,1,2,3,5,8,13,21,....n?
    # n1=1,n2=2,n3=3

    n1 = 1  # 前面第一个数
    n2 = 2  # 前面第二个数
    num = 0 # 当前数值大小
    n = 10  # 表示当前要求的第几个数
    
    if n == 1 or n == 2:
    pirnt (1)
    else:
    for x in range(3,n+1):
      numn = n1 + n2
      n1 = n2
      n2 = numn
    print (numn)
    

    2.判断101-200之间又多少个素数,并输出所有的素数。(质数、素数:只能被或者他本身整除)判断素数的方法:用一个数分别除2到sqrt(这个数),如果能被整除,则表明次数不是素数,反之是素数第一个循环将101-200中的所有的数据去处理

    num = 0
    for x in range(101,201):
        # x = (101~200)
        # 拿到X后,判断2到x-1中有没有一个数可以被被x整除。如果2到x-1中没有一个能被x整除
        # 就说明x是素数。只要有一个可以被x整除,x就不是素数
        count = 0  # 统计2到x-1中能够被x整除的数的个数
        for y in range(2,x):
            if x % y == 0:
                print (x,'不是素数')
                count += 1
         if count == 0:
                print (x,'是素数')
                num += 1
    print (num)
    

    02-break和continue
    break是一个让循环提交结速的关键字

    • 如果在for循环或者while循环中遇到break,那么循环就在break的位置直接结束。结束后程序执行循环后边的代码
      练习:找到1000-9999中的第一个能够被13整除的数(打印)

      for x in range(1000,10000):
        if x % 13 == 0:
            print ('找到了:',x)
            break
      print ('循环结束后')
      
      for x in range(1,100):
        if x == 50:
            break   # 在这个地方结束循环,直接跳出循环执行后面的语句
        print (x)   # 1 2 3 4....49
      
    • 用while循环实现:不断的让用户去输入数字,直到用户输入的数字是0为止

    • input函数:程序执行到input函数的时候,程序就会停下来,等待用户从键盘输入并且回车结束,然后才会往下写

      sum1 = 0
      while True:
      num = int(input('请输入数字:'))    #获取键盘输入的内容,并且转换成int类型
      sum1 += num       #将当次输入的数字加起来
      if num == 0:  #判断输入的数字是否是0,如果是就让循环结束
        break
      print (num)
      print (sum1)
      
    • 注意:break只能写在循环中

    03-猜数字

    • for循环和while循环的选择:
    • for循环 的特点:次数确定,可以在序列中取数据
    • while:可以解决循环次数不确定的(while True + break)

    练习:随机生成一个整数。用户输入数字。如果用户输入的数字大于随机数就显示:‘大了’;如果用户输入的数小于随机数就提示'小了'。直达哦用户输入的数和随机数一样游戏就结速。
    生产随机数:random模块是Python内置的,用来产生随机数的模块,里面提供了很多产生随机数的函数;

    randint(m,n):产生一个m到n的随机整数
    import random
    num = random.randing(0,100)
    count = 0
    while True:
        count +=1
    inputValue = int(input('请输入一个数:'))
    if inputValue > num:
        print ('大了')
    elif inputVlue < num:
        print ('小了')
    elif inputValue == num:
        print ('猜对了,没有奖励')
        if count > 7:
            print('猜了这么多次才中!!!')
        elif count < 3:
            print ('天才')
        else:
            print ('太差了')
        break
    

    04-continue

    2.continue:结束当次循环,进入下次循环

    for x in range(1,10):
    print ('=',end='')
    continue    #遇到continue就不再执行循环体后面的内容,直接进入下一次循环的判断
    print (x)
    

    练习:1.求1到100中所有的奇数的和

    sum1 = 0
    for x in range(1,101):
        if x % 2 == 0:
            continue
        sum1 += x
    print (sum1)
    

    2.统计输入的数字中偶数的个数。如果输入0,就结速。(必须使用continue)

    flag = True
    count = 0
    whiile flag:
    #输入数据
    inputvalue = int(input('>>>'))
    #判断是否是奇数
    if inputvalue % 2 == 1:
        continue
    if inputvalue == 0
        flag = False
    count += 1
    
    
    print ('偶数的个数:',count)
    

    05-else

    • Python中循环语句后面可以加else语句。这个else语句会在循环后只需
      格式:

      for 变量 in 系列
        循环体
      else:
        循环结束后会只需的语句块
      

    练习:1.求123....10的和

    sum1 = 1    #sum1的值不能大于10000
    for x in range(1,11):
        sum1 *= x
    else:
        print (sum1)
    
    • 注意:如果在循环中使用break,那么else语句不会只需!(continue不存在这个问题)
      求123*4...10的和,超过10000就不显示

      sum1 = 1
      fox x in range(1,11):
        if sum1 * x > 10000:    # 在给sum1赋值前先判断的结果是否大于10000
            break
        sum1 *= x   # 只有在乘积不大于10000的时候才用乘积赋值
            else:
              print (sum1,x)
      

    06-多重循环

    • 在循环体里面可以有其循环语句

        for 变量 in 序列:
            for 变量1 in 系列2:
            循环体2
        其他的循环语句
        for 变量 in 序列:
            while 条件语句:
            循环体2
        其他的循环语句2
        while 条件语句1:
            其他的循环语句
            while条件语句2:
            循环体2
          其他的循环语句2
      

    练习:如果n=5,打印
    1
    12
    123
    1234
    12345
    ...

      n = int(input('请输入要打印的行数 :'))
      for x in range(1,n+1):
            for y in range(1,x+1):  #y控制获取当前行里的所有数值
                print (y,end='')    #一行结束换行
        print ()
    

    n = 5:
    *****
    ****
    ***
    **

    •   n = 5
        for x in range(1,n+1): 
            for y in range(1,n+1):
                if x <= y:
            print ('*',end='')
        print ()
      

    相关文章

      网友评论

        本文标题:day4学习总结0615

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