• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python中条件、循环等介绍说明

python 搞代码 4年前 (2022-01-09) 36次浏览 已收录 0个评论

获取字典中任意的键-值对

>>> x={'a':1,'b':2}>>> key,value=x.popitem()>>> key,value('a', 1)>>> del x[key]Traceback (most recent call last):  File "<pyshell#16>", line 1, in <module>    del x[key]KeyError: 'a'>>> x{'b': 2}>>> x[key]=value>>> x{'a': 1, 'b': 2}>>> del x[key]

增量赋值

>>> x=2>>> x+=1>>> x*=2>>> x>>> fnord='foo'>>> fnord+='bar'>>> fnord*=2>>> fnord'foobarfoobar'

条件执行if语句

>>> name=raw_input('?')?Yq Z>>> if name.endswith('Z'):  \   print 'Hello,Mr.Z'Hello,Mr.Z

else子句

>>> name=raw_input('what is your name?')what is your name?Yq Z>>> if name.endswith('Z'):    print 'Hello,Mr.Z'else:    print 'Hello,stranger'    Hello,Mr.Z

elif子句

>>> num=input('Enter a number: ')Enter a number: 5>>> if num>0:    print 'The number is position'elif num<0:    print 'The number is negative'else:    print 'The number is zero'    The number is position

条件嵌套语句

>>> name=raw_input('What is your name?')What is your name?Yq Z>>> if name.endswith('Yq'):    if name.startswith('Z'):        print 'Hello,Yq Z'    elif name.startswith('K'):        print 'Hello,Zyq'    else:        print 'Hello,Yq'else:    print 'Hello,stranger'    Hello,stranger
>>> number=input('Enter a number between 1 and 10:')Enter a number between 1 and 10:6>>> if number<=10 and number>=1:    print 'Great!'else:    print 'Wrong!'    Great!
>>> age=10>>> assert 0<age<100>>> age=-1>>> assert 0<age<100Traceback (most recent call last):  File "<pyshell#21>", line 1, in <module>    assert 0<age<100AssertionError

while循环

>>> x=1>>> while x<=100:    print x    x+=1
>>> while not name:    name=raw_input('Please enter your name:')    print 'Hello,%s !' % name    Please enter your name:zyqHello,zyq !

for循环

>>> words=['this','is','an','ex','parrot']>>> for word in words:    print word    thisisanexparrot>>> range(0,10)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> for i in range(1,8):    print i246

字典循环(迭代)

>>> d={'x':1,'y':2,'z':3}>>> for key in d:    print key,'corresponds to',d[key]    y corresponds to 2x corresponds to 1z corresponds to 3

并行迭代

>>> names=['Anne','Beth','George','Damon']  >>> ages=[12,19,18,20]>>> for i in range(len(names)):    print names[i],'is',ages[i],'years old'    Anne is 12 years oldBeth is 19 years oldGeorge is 18 years oldDamon is 20 years old
>>> zip(names,ages)[('Anne', 12), ('Beth', 19), ('George', 18), ('Damon', 20)]>>> for name,age in zip(names,ages):    print name,'is',age,'years old'    Anne is 12 years oldBeth is 19 years oldGeorge is 18 years oldDamon is 20 years old>>> zip(range(5),xrange(100))[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]

编号迭代

>>> d[1, 2, 4, 4]>>> for x in d:    if x==4:        d[d.index(x)]=6        >>> d[1, 2, 6, 6]>>> S=['skj','kiu','olm','piy']>>> index=0>>> for s1 in S:    if 'k' in s1:        S[index]='HH'    index+=1    >>> S['HH', 'HH', 'olm', 'piy']>>> for index,s2 in enumerate(S): #enumerate函数提供索引-值对    if 'H' in s2:        S[index]='DF'        >>> S['DF', 'DF', 'olm', 'piy']

翻转、排序迭代

>>> sorted([4,3,6,8,3])[3, 3, 4, 6, 8]>>> sorted('Hello,world!')['!', ',', 'H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w']>>> list(reversed('Hello,world!'))['!', 'd', 'l', 'r', 'o', 'w', ',', 'o', 'l', 'l', 'e', 'H']>>> ''.join(reversed('Hello,world!'))'!dlrow,olleH'

break跳出循环

>>> for n in range(99,0,-1):    m=sqrt(n)    if m==int(m):        print n        break

while True/break

>>> while True:    word=raw_input('Please enter a word:')    if not word:break    print 'The word was '+word    Please enter a word:fThe word was fPlease enter a word:

循环中的else语句

>>> for n in range(99,81,-1):    m=sqrt(n)    if m==int(m):        print m        breakelse:    print 'h'    h

列表推导式-轻量级循环

>>> [x*x for x in range(10)][0, 1, 4, 9, 16, 25, 36, 49, 64, 81]>>> [x*x for x in range(10) if x%3==0][0, 9, 36, 81]>>> [(x,y) for x in range(3) for y in range (3)][(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]>>> result=[]>>> for x in range(3):    for y in range(3):        result.append((x,y))>>> result [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]>>> girls=['Alice','Bernice','Clarice']>>> boys=['Chris','Arnold','Bob']>>> [b+'+'+g for b in boys for g in girls if b[0]==g[0]]['Chris+Clarice', 'Arnold+Alice', 'Bob+Bernice']

pass

>>> if name=='Nsds':    print 'Welcome!'elif name=='UK':    #还没完    passelif name=='Bill':    print 'Access Denied'else:    print 'Nobody!'

del x和y同时指向一个列表,但是删除x并不会影响y。删除的只是名称,不是列表本身(值)

>>> x=['Hello','world']>>> y=x>>> y[1]='Python'>>> x['Hello', 'Python']>>> del x>>> y['Hello', 'Python']

exec

>>> exec "print 'Hello,world!'"Hello,world!>>> from math import sqrt>>> exec "sqrt=1">>> sqrt(4)Traceback (most recent call last):  File "<pyshell#36>", line 1, in <module>    sqrt(4)TypeError: 'int' object is not callable#增加一个字典,起到命名空间的作用>>> from math import sqrt>>> scope={}>>> exec 'sqrt=1' in scope>>> sqrt(4)2.0>>> scope[&<strong>本文来源gaodai#ma#com搞@代~码^网+</strong>#39;sqrt']

注意:命名空间,称作作用域。可以把它想象成保存变量的地方,类似于不可见的字典。执行 x=1这类赋值语句时,就将键x和值1放在当前的命名空间内,这个命名空间一般来说都是全局命名空间。

>>> len(scope)2>>> scope.keys()['__builtins__', 'sqrt']

eval 求值

>>> scope={}>>> scope['x']=2>>> scope['y']=3>>> eval('x*y',scope)>>> scope={}>>> exec 'x=2' in scope>>> eval('x*x',scope)

以上就是python中条件、循环等介绍说明的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python中条件、循环等介绍说明

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址