while + continue
- 使用while循环打印出0-10
number = 0
while = number < 11:
print(number)
number += 1 - 使用while循环打印0~10,但不打印4.
number = 0
while number < 11:
if number == 4:
number += 1
continue
print(number)
number += 1
- continue 会使循环回到条件判定,重新判定。
while + else
- number = 0
while number < 5:
print(number)
number += 1
else:
print('别搞')
- 输出结果 : 0 1 2 3 4 别搞
number = 0
while number < 5:
if number == 3:
break
print(number)
number += 1
else:
print('别搞') - 输出结果 : 0 1 2
注: 当while 循环没有被人为中断(break)的情况是才会走else
死循环
while True:
print(1)
注 : 死循环会让CPU极度繁忙,奔溃,重启
for循环
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
创建计数
j = 0
创建条件
while j < 5:
创建输出
print(name_list[j])
# 让计数递增
j += 1
- 使用for循环
for name in name_list:
print(name)
注:for循环能做到的事情 while循环都可以做到
但是for循环语法更加简洁 并且在循环取值问题上更加方便
格式;for 变量名(需要的东西) in 可迭代对象(要取地方的)
可迭代的对象(字符串,离别,字典,元组,集合)
- 这是使用while循环打印出列表中的名字
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
j = 0
while j < 5:
print(name_list[j])
j += 1- 这是使用for 循环 打印出列表中的名字
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
for name in name_list:
print(name)
- 这是使用for 循环 打印出列表中的名字
- for 循环 也可以和字符串使用
for x in 'junjie':
print(x) - "x" 这个变量名可以自己定义,因为字符串是一个整体,所以for循环打印出整体内的内容
- for循环和字典,字典取值只能取k
d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
for biaogelidemingzi in d:
print(biaogelidemingzi) # 只能打印出k(字典是k:v键值对组成)
d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
for biaogelidemingzi in d:
print(biaogelidemingzi,d[biaogelidemingzi])
range 关键字
- 第一个种,range中的数值循环打印(从0 开始,顾头不顾尾)
for x in range(10): 输出:0,1,2,3,4...9
print(x) - 第二种,两个参数,可以自定义数字开始的位子,同样顾头不顾尾
for x in range(4, 10) 输出:4,5,6,7,8,9
print(x) - 第三种:三个参数 第三个数字用来控制等差值
for x in range(2, 100, 10): 输出:2,22,32,42...92
print(x)
range拓展知识
https://movie.douban.com/top250
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=
使用fou循环以及range知识打印其他页数:
res = 'https://movie.douban.com/top250?start=%s&filter='
for wangzhi in range(0, 100, 25):
print(res % wangzhi)
for+break
break在for的功能也是结束本层循环100:
for x in range(0, 100):
if x == 4:
break
print(x)
for+continue
continue de 作用也是结束本层循环: # 注意,是本层循环结束
for x in range(5):
if x == 3:
continue
print(x)
for+else
else也是在for循环正常结束的情况下才能执行
for x in range(10):
if x == 4:
break
print(x)
else: # 输出结果是0,1,2,3 ,条件设定数值等于4时停止,所以不会有4.
print('啦啦)
### for循环的嵌套使用
```python
for i in rang(3): # 输出结果: ***** 三行五个星号
for j in rang(5): *****
print('*', end='') *****
print()
for i in range(1,10):
for x in range(1, i+1)
print('%s*%s=%s' % (i, x, i * x), end= ' ')
print()
数据类型的内置方法
- 转换整型
# eg: res = '123'
print(res) # 输出: 字符串
'''转换
res = int(res)
print(res) 输出: int
'''
- 转换字符串
# 字符串str
# 类型转换
print(str(123.21))
print(str([1, 2, 3, 4]))
print(str({'name': 'jason', 'pwd': 123}))
print(str((1, 2, 3, 4)))
print(str(True))
print(str({1, 2, 3, 4}))
输出结果;
123.21
[1,2,3,4]
{'name':'jason','pwd':'123'}
(1,2,3,4)
True
{1, 2, 3, 4}
# 虽然呈现的形式和原来一眼,但是格式已经改为字符串的形式
基本用法
res = 'hello world!'
1.索引取值
print(res[1]) # e
2.切片操作 顾头不顾尾
print(res[1:4]) # ell
3.步长操作
print(res[1:10]) # ello worl
print(res[1:10:2]) # el ol
4.索引支持负数
print(res[-1]) # ! 最后一位
print(res[-5:-1]) # orld 顾头不顾尾
print(res[-5:-1:-1]) # 方向冲突
5.统计字符串内部字符的个数
print(len(res)) # 12
6.移除字符串首尾指定的字符 strip()
name = ' jason '
print(name, len(name))
print(len(name.strip())) # 默认移除首尾的空格
name1 = '$$jason$$'
print(name1.strip('$')) # jason
print(name1.lstrip('$')) # jason$$
print(name1.rstrip('$')) # $$jason
# username = input('username>>>:')
# username = username.strip( )
# if username == 'tom':
# print('xx')
# else:
# print('bb')