-->

python 课堂笔记 day_03 - 循环的使用

#coding: utf-8
'''''''''''
#循环与其他条件语句的使用
#关于import与print隐藏的更多信息
print 'name:',40 #用逗号输出,注:print输出的参数并不能像我们预期那样构成一个元组。
#if条件语句的使用
name = 'ABC'
if name == 'ABC':print 'is True' #if 就是所谓的如果,如果判断表达式成立则显示相关信息,否则则返回False。
#else,else是if的不成立方式,当if表达式不成立的时候,最终会选择else继续往下执行。
if name == 'Fa':print 'is True'
else:
print 'is Nothing.'
#elif,elif可作为if的多判断形式出现,多用于嵌套循环之中。
number = raw_input('please input the numbe:')
if number < 0 :print 'the number is smaile.'
elif number == 0:print 'Binggo,You have egg again.'
elif number > 0:print 'Your input number,than be zero.'
else:
print 'Your Enter is Error. '
#相等运算符
print 'abc' == 'abc' #is True,python中一个等号用于赋值,两个等号用于判断!
#同一运算符性质
x = y = [1,2,3]
z = [1,2,3]
print x == y #is True.看上去它和==是一样的,但实际并不一样。
x==z #is True.看上去它和==是一样的,但实际并不一样。
x is y #is True
x is z #is False.

#in,成员资格,使用in可以判断该元素是否存在于字符串之中。
name = raw_input('Please input your name:')
if 'J' in name:print 'Your name is true'
else:
print 'your name is False.'
#while循环的使用,以下实例是一个每个月提醒您缴房租的程序。
x = 1 #定义月数
while x < 100:
print '第(%s)个月,老板又到了交房租的时候啦!'% x
x+=1

#本实例是一个反复让用户输入数字的程序,只要用户输入的数少于之前输入的数字,程序就会提示用户该数字已经打印,请重新输入,直到打印完100为止。
temp = 1 #用于循环打印输出显示
sum = 1 #用于计算循环打印的次数
while sum < 100: #当sum小于100的时候执行以下代码
number = int(raw_input('请输入数字:')) # 让用户输入
if number < sum: #如果用户输入的数低于当前循环的次数则返回错误
print '对不起,您输入的(%s)已经打印过啦,请输入比(%s)大的数,想打印(%s)直接输入即可。'%(number,sum,sum)
else:
while sum <= number: #当循环次数小于用户输入的数的时候将一直循环增加到与用户输入的数相等。
print temp # 1
temp += 1
sum += 1
User_s = raw_input('您是想(Q.退出、Y.继续输入):')#退出或继续
if User_s == 'Q':
break
print '程序已按要求打印完毕,感谢您的使用,再见。'

#for循环的使用,一般来说while已经可以满足任何条件为真的情况下重复执行一块代码区域,但对于集合与其他迭代对象,就需要使用for了。
wors =['this','is','a','new','page']
for line in wors: #将会得到循环输出每一个元素
print line
#for方法有个很实用的迭代对象函数,当我们想打印某个范围内的数字的时候,可以使用range参数。
print range(1,30)#将会返回[1,2,3,4,5....]它有点类似于分片,它默认包含下限0,不包含上限,当然我们可以只提供上限
for line in range(1,101):#会打印出1-100的数,比起使用while实现,for看起来会更加的整洁。
print line
#开发过程中,如果可以使用For循环就尽量不要使用While循环。

#这是一个循环遍历字典元素的实例
dict_d = {'a': 1,'b': 2,'c': 3,'y':9}
for k in dict_d: #会得到所有元素的key与value
print 'key:(%s)'% k,'value:(%s)'% dict_d[k]
#这两种方法都可以获得key与value
for k,v in dict_d.items(): #会得到所有元素的key与value
print 'key:(%s),value:(%s)'% (k,v)

#For循环实现并行迭代
name =['naruto','levon','jone']
ages = [20,18,19]
for i in range(len(name)): #同时打印姓名与年龄
print "(%s)今年(%s)岁."% (name[i],ages[i])

#zip函数,zip函数可以将两个序列压缩在一起,然后返回一个元组列表
name =['naruto','levon','jone']
ages = [20,18,19]
print zip(name,ages)#会返回[('naruto', 20), ('levon', 18), ('jone', 19)]
#接下来,我们使用for循环来解包元组:
for Name, age in zip(name,ages):
print "(%s)今年(%s)岁." % (Name, age)#同样,也能获得元组的key与value
#index索引迭代法,index可以获得当前指定序列的对象的索引位置,并替换该字符串
strings = ['naruto','levon','jone']

index = 0
for line in strings: #for循环遍历strings列表
if 'naruto' in line: #如果Naruto存在列表中则将当前位置赋值给index。
strings[index] = 'youtube'#修改当前位置的字符串实现字符串替换
print strings
index +=1
#也可以通过enumerate函数实现:
for index,string in enumerate(strings):
if 'naruto' in string:
strings[index] = 'youtube'
print strings

#翻转与排序迭代函数reversed与sorted与列表相似,但它可作用于任何序列或可迭代的对象上,不是原地修改对象,而是翻转或排序。
print sorted([5,4,3,2,1])#返回[1, 2, 3, 4, 5]
print list(reversed("hello world."))#返回['.', 'd', 'l', 'r', 'o', 'w', ' ', 'o', 'l', 'l', 'e', 'h']
#sorted方法返回的是列表,而reversed返回的则是可迭代的对象
'''''''''

0 评论:

发表评论