最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-27 14:16:26
文档

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

python中条件、循环等介绍说明:获取字典中任意的键-值对>>> x={'a':1,'b':2} >>> key,value=x.popitem() >>> key,value ('a', 1) >>> del x[key] Traceback (most re
推荐度:
导读python中条件、循环等介绍说明:获取字典中任意的键-值对>>> x={'a':1,'b':2} >>> key,value=x.popitem() >>> key,value ('a', 1) >>> del x[key] Traceback (most re
获取字典中任意的键-值对

>>> 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<100

Traceback (most recent call last):
 File "<pyshell#21>", line 1, in <module>
 assert 0<age<100
AssertionError

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:zyq
Hello,zyq !

for循环

>>> words=['this','is','an','ex','parrot']
>>> for word in words:
 print word

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

字典循环(迭代)

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

 
y corresponds to 2
x corresponds to 1
z 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 old
Beth is 19 years old
George is 18 years old
Damon 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 old
Beth is 19 years old
George is 18 years old
Damon 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:f
The word was f
Please enter a word:

循环中的else语句

>>> for n in range(99,81,-1):
 m=sqrt(n)
 if m==int(m):
 print m
 break
else:
 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':
 #还没完
 pass
elif 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['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中条件、循环等介绍说明

文档

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

python中条件、循环等介绍说明:获取字典中任意的键-值对>>> x={'a':1,'b':2} >>> key,value=x.popitem() >>> key,value ('a', 1) >>> del x[key] Traceback (most re
推荐度:
标签: 条件 的条件 循环
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top