for循环遍历
for i in xxx:
代码块
i:是一个变量,是把xxx里面的某一个值取出来存到i里面
xxx:可以是序列(序列包括:列表、元祖、字符串),还可以是迭代对象
>>> for i in "abc": ... print(i) ... a b c
#调试技巧 例题:求列表[1,2,3,4]的和 打印出每一步的结果
>>> result =0 >>> for i in [1,2,3,4]: ... print("i的取值",i) ... result+=i ... print("计算结果",result) ... i的取值 1 计算结果 1 i的取值 2 计算结果 3 i的取值 3 计算结果 6 i的取值 4 计算结果 10 >>> print(result) 10
#通过索引循环遍历
>>> fruits = [‘banana‘,‘apple‘,‘mango‘] >>> for index in range(len(fruits)): ... print(fruits[index]) ... banana apple mango >>>
以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。
while循环遍历
while True:
代码块
True:条件,只要条件是True 代码块会永远执行
死循环应用场景:
1 服务器端:一般死循环
2 你也不知道循环多少次的时候就要用到死循环
>>> a = 0 >>> while a<=5: ... print(a) ... a+=1 #相当于a=a+1 ... 0 1 2 3 4 5
#练习题:
用死循环实现:
用户输入数字,判断是奇数还是偶数
当输入的数字是100的时候,结束第循环
>>> while 1: ... user_num =int(input("请输入一个数字:")) ... if user_num%2==0: ... print("%s 是偶数" %user_num) #模板字符串 ... else: ... print("%s 是奇数" %user_num) ... if user_num==100: ... break ... 请输入一个数字:2 2 是偶数 请输入一个数字:3 3 是奇数 请输入一个数字:4 4 是偶数 请输入一个数字:5 5 是奇数 请输入一个数字:6 6 是偶数 请输入一个数字:100 100 是偶数 >>>
break和continue
break:彻底结束循环 continue:跳出本次循环,执行下一次
对比示例:
>>> for i in range(10): ... if i==3: ... break #整个for循环结束,>=3的数字不在打印 ... print(i) ... 0 1 2 >>> for i in range(10): ... if i==3: ... continue #跳过i==3这次循环不打印,for循环继续后面的循环 ... print(i) ... 0 1 2 4 5 6 7 8 9 >>>
for/while...else...搭配的诡异用法:
#没有break >>> for i in range(5): ... if i == 3: ... continue ... print(i) ... else: #else语句被执行 ... print("no break") ... 0 1 2 4 no break #有break
>>> for i in range(5): ... if i == 3: ... break ... print(i) ... else: #else没有被执行 ... print("no break") ... 0 1 2 >>>
总结:只要循环体内部没有执行break就会执行else部分的代码
例: 题目:[1,2,3,4,5,7]你输入一个数字,判断一下是否在这个list中,执行3次这个逻辑。 算法: 1、循环3次 (for) for i in range(3) 2、输入一个数字(input),存到某个变量里 user_num =int(input("请输入一个数字:")) 3、判断这个数字在不在[1,2,3,4,5,7] desc_list =[1,2,3,4,5,7] 4、如果在,打印一下;不再也打印一下。 if user_num in desc_list: print("%s 在" %user_num) else: print("%s 不在" %user_num ) 实现: >>> desc_list =[1,2,3,4,5,7] >>> for i in range(3): ... user_num =int(input("请输入一个数字:")) ... if user_num in desc_list: ... print("%s 在" %user_num)#模板字符串表达方式 "%s a number" %1 ‘1 a number‘ ... else: ... print("%s 不在" %user_num) ... 请输入一个数字:5 5 在 请输入一个数字:2 2 在 请输入一个数字:1 1 在 >>>
查看更多关于python基础--循环for和while的详细内容...