Python自学20201202 while、for 、if、else、break、continue等相关用法
程序员文章站
2022-07-02 22:55:38
while、for 、if、else、break、continue...
Python自学20201202 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,大多数有其他的替代方法—如今,扫描实际的元素、三重限制分片,以及列表解析往往是较好的解决方案。
"""
本文地址:https://blog.csdn.net/hahahehe2020/article/details/110458245
上一篇: Promise用法