当前位置 : 主页 > 编程语言 > python >

python基础--循环for和while

来源:互联网 收集:自由互联 发布时间:2021-06-25
for循环遍历 for i in xxx: 代码块 i:是一个变量,是把xxx里面的某一个值取出来存到i里面 xxx:可以是序列(序列包括:列表、元祖、字符串),还可以是迭代对象 for i in " abc " :... print (i).

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次 (forfor 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>>>
网友评论