Advertisement

Python自学20201202 while、for 、if、else、break、continue等相关用法

阅读量:

学习Python相关语法点:while、for、if-else以及break和continue等关键字。
【常用常玩

复制代码
    print("=========表达式语句学习=============")
    print("=========1、常用表达式语句=============")
    """
    spam(eggs,ham)      函数调用
    spam.ham(eggs)      方法调用
    print(a,b,c,seq='')  打印操作3.0+
    yield x**2           产生表达式的语句
    """
    x= print('spam')
    #打印结果 spam
    print(x)
    #打印结果 None
    print("=========2、常用表达式语句和在原处的修改=============")
    L=[2,3]
    L.append(4)  #append sort reverse 这类在原处的修改运算,一定只对列表做原处修改
    print(L)
    
    L=[2,3]
    L=L.append(4)
    print(L)
    
    """
    sep是在每个对象的文本之间插入的一个字符串,如果没有传递的话,它默认地是一个单个的空格;传递一个空字符串将会抑制分隔符。
    
    end是添加在打印文本末尾的一个字符串,如果没有传递的话,它默认的是一个\n换行字符。传递一个空字符串将会避免在打印的文本的末尾移动到下一个输入
    行—下一个print将会保持添加到当前输出行的末尾。
    
    file指定了文本将要发送到的文件、标准流或者其他类似文件的对象;如果没有传递的话,它默认的是sys. stdout。带有一个类似文件的 write(string)方法的任何
    对象都可以传递,但真正的文件应该已经为了输出而打开。
    """
    print("=========3、python 3.+应用=============")
    x = 'spam'
    y = 99
    z = ['eggs']
    print('1:',x,y,z)
    print('2:',x,y,z,sep='')
    print('3:',x,y,z,sep=',')
    print('4',x,y,z,end='...\n')
    print('5:',x,y,z,sep='...',end='!\n')
    print('6:',x,y,z,end='!\n',sep='...')
    
    print('7:',x,y,z,sep='...',file=open('data.txt','w'))
    print('7:',x,y,z)
    print('8:',open('data.txt').read())
    
    text = '%s:%-.4f,%05d'%('Result',3.14159,42)
    print('text:',text)
    
    x='spam'
    if 'rubbery' in 'shrubbery':
    print(x*8)
    x +='NI'
    if x.endswith('NI'):
        x *=2
        print(x)
    
    
    print("=========4、while函数=============")
    """
    while语句,提供了编写通用循环的一种方法;而第二种是for语句,用它来遍历序列对象内的元素,并对每个元素运行一个代码块。
    """
    
    #轰炸机。。。。可以点下面红色方块停止。
    # while True:
    #     print('Type Ctrl-C to stop me')
    
    x = 'spam'
    while x:    # while x is not empty
    print(x,end=' ')
    x=x[1:]
    
    print("\n=========5、while函数例2=============")
    a=0
    b=10
    while a<b:
    print(a,end=' ')
    a +=1
    
    print("\n=========5、break continue pass用法=============")
    """
     break   跳出最近所在的循环(跳过整个循环语句)。
     continue 跳到最近所在循环的开头处(来到循环的首行)。
     pass   什么事也不做,只是空占位语句。 循环else块,只有当循环正常离开时才会执行(也就是没有碰到 break语句)。
    """
    #例子
    # while <test1>:
    #     <statements1>
    #     if <test2>: break
    #     if<test3> : continue
    # else:
    #     <statements2>
    
    
    # while True:
    #     pass
    
    x = 10
    while x:
    x=x-1
    if x % 2 ==0:continue
    print(x,end=' ')
    
    print('\n')
    
    x = 10
    while x:
    x=x-1
    if x % 2 ==0:
        print(x,end=' ')
    
    print('\n')
    
    #下面可以直接跑
    # while True:
    #     name = input('Enter name:')
    #     if name == 'stop':
    #         break
    #     age = input('Enter age:')
    #     print('Hello',name,'=>',int(age)**2)
    
    d=99
    z = d//2    # //代表整除
    while z>1:
    if d%z ==0:
        print(d,'has factor',z)
        break
    z -=1
    else:
    print(d,'is prime.')
    
    print("=========6、循环搜索列表的值=============")
    #写一个循环搜索列表的值
    found = False
    while x and not found:
    if match(x[0]):
        print('Ni')
        found = True
    else:
        x=x[1:]
    if not found:
    print('not found')
    
    L=[1,2,3,4,5]
    i = 0
    while i < len(L):
    L[i] +=1
    i +=1
    print(L,i)
    
    L1=[1,2,3,4,5]
    for j in L1:
    j +=1
    print(L1,j)
    
    print("=========7、并行遍历 zip和map=============")
    """
    内置函数 range允许我们在for循环中以非完备的方式遍历序列。内置的zip函数也让我们使用for循环来并行使用多个序列。在基本运
    算中,zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。例如,假设我们使用两个列表:
    """
    L2 = [1,2,3,4,5]
    L3 = [5,6,7,8,9,10]
    print(zip(L2,L3))
    print(list(zip(L2,L3)))  #并行遍历,如有一方不符合,即不打印出来
    for (x,y) in zip(L2,L3):
    print('%d+%d'%(x,y),'=',x+y)
    
    s1='abc'
    s2='xyz12'
    print(list(zip(s1,s2)))
    
    print("=========8、产生偏移和元素enumerate=============")
    #这个还需深入研究
    S= 'spam'
    E= enumerate(S)
    print(E)
    print(next(E))
    print(next(E))
    print(next(E))
    print(next(E))
    
    """
    习题和总结:
    1. While和for之间的主要功能区别是什么?
    2. break,continue和pass之间有何区别?
    3.一个循环的else分句何时执行?
    4.在 Python中怎样编写一个基于计数器的循环?
    5.怎样使range用于for循环中?
    """
    
    """
    1. while循环是一条通用的循环语句,for循环设计用来在一个序列中遍历各项(序列需要是真正可迭代的)。尽管 while可以用计数器循环来模拟for循环,但它需要更
    多的代码并且可能运行起来更慢些。
    2. break语句立即退出一个循环(省略了下面的整个 while或for循环语句), continue跳回到循环的顶部(跳转到 while中测试之前的部分或for中的下一次元
    素获取)。
    3. while或for循环中的else分句会在循环离开时执行一次,但前提是循环是正常离开(没有运行break语句)。如果有的话,break会立刻离开循环,跳过else部分。
    4.计数器循环可以使用while语句编写,并手动记录索引值,或者以for循环写成,使用 range内置函数来产生连续的整数偏移值。任何一种都不是 Python中的推荐的
    做法,如果你只需要遍历序列中所有元素只要可能就改用简单的for循环,不用range或计数器。这样做不仅更容易编写,而且通常运行得更快。
    5. range内置函数可以用在一个for循环中来实现固定次数的重复,以按照偏移值而不是偏移值处的元素来扫描,从而,在过程中省略连续的元素,并且在遍历一个列
    表的时候修改它。这样的用法并非都需要range,大多数有其他的替代方法—如今,扫描实际的元素、三重限制分片,以及列表解析往往是较好的解决方案。
    """
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释

全部评论 (0)

还没有任何评论哟~