caicaix

导航

流程控制和一些字符串内部读取关键词或格式

1.流程控制

1.while+continue

立即调出本次循环,同属一个代码块后面的代码都不会进行,直接回到while     //不仅可以用在while中,for循环中也可以

例:

 1 # 打印出0到5的数字,除了3
 2 x = 0
 3 while x <= 5:
 4     if x == 3:
 5         x += 1
 6         continue
 7     else:
 8         print(x)
 9         x += 1
10 '''
11 打出结果:
12 0
13 1
14 2
15 4
16 5
17 '''

 

2.while+else

 当while循环内没有被人为中断(break)的时候,会执行else语句,就是while循环分为两半,第一部分是循环部分,第二部分就是else这块,循环部分如果没有break的部分时,else不参与循环,循环结束后再执行else;如果循环部分有break时,循环到break时直接结束整个while循环,else部分也不执行。

例:

 1 count = 0
 2 while count < 10:
 3     if count == 3:
 4         break
 5     print(count)
 6     count += 1
 7 else:
 8     print('嘿嘿嘿')
 9 
10 '''
11 当没有break的部分时会输出0到9,然后再输出'嘿嘿嘿'
12 有了break的部分后,进行到时候直接跳出循环,且'嘿嘿嘿'不再输出
13 '''

 

3.死循环

就是循环一直进行,计算机内部一直在进行循环,容易烧坏cpu

例:

1 while True :
2     (123)

 

4.for循环

for循环和while循环一样,满足判断条件的情况下会一直循环代码块,但是for循环比while循环代码简洁一点,而且不会出现死循环

语法结构:

for  变量名  in  可迭代对象:    //就是可以循环的对象,除了int不行其他类型都可以

print()

当可迭代对象是字典时,打印出来的部分是K 

例:

1 name_list = ['kevin', 'tank', 'jason', 'tony']
2 # 循环取出列表中每一个人名
3 for name in name_list:
4     print(name)

当可迭代对象是字典时:

1 d =  {"username":'kevin', "age":18}
2 for i in d:
3     print(i, d[i])
4     
5 '''
6 输出结果:
7 username kevin
8 age 18
9 '''

 

5.range关键字

一般配合for 循环使用,就是某个区间内,走某个步长(某个跨度),比如range(1,10,3)从1开始到10结束,每次循环都第三步的时候执行,省去2,3的情况,走到第三步4的时候执行,当为10的时候判断成功就直接跳出了,所以也不包含末尾的部分,只有一个数的时候默认从0开始,走一步,2个数的时候从头开始到尾-1。

例:

 1 # range关键字有三种玩法,一般配合for循环使用
 2 # 1.
 3 for i in range(10):  # 如果只有一个参数,意思是:从0到10的整数
 4     print(i)
 5 # 2.
 6 for i in range(3, 10):  # 如果有两个参数,意思是:从3到10的整数
 7     print(i)
 8 # 3.
 9 for i in range(1, 10, 2):  # 如果有三个参数,意思是:从1到10的整数,步长为2
10     print(i)

 

6.for+break

就是跳出循环,break对应的是于它上级的循环结束

例:

 1 for i in range(10):
 2     if i == 3:
 3         break
 4     print(i)
 5     
 6 '''
 7 输出结果:
 8 0
 9 1
10 2
11 '''

 

7.for+continue

和while一样,调出本次循环,直接回到for处再继续进行循环

例:

1 for i in range(10):
2     if i == 3:
3         continue
4     print(i)

 

8.for+else

说累了原理同while+else一样

例:

1 for i in range(10):
2     if i == 3:
3         break
4     print(i)
5 else:
6     print('嘿嘿')

 

9.打印九九乘法表

1 for i in range(1, 10):
2     for j in range(1, i + 1):
3         print('%s*%s=%s' % (i, j, i * j), end=' ')
4     print()

 

10.数据类型内置办法

就是转换数据的类型

表现形式:名字()  int()  print()

1.整型

int 了解一下

# int它也支持二进制转换
print(bin(10))   # 0b 1010  0b代表的就是二进制
print(oct(10))   # 0o 12    0o代表的是八进制
print(hex(10))   # 0x a     0x代表的是十六进制
1 # 把二进制转为十进制
2 print(int('0b1010', 2))
3 print(int('0o12', 8))
4 print(int('0xa', 16))

 

2.浮点型

# 1.3 float同样可以用来做数据类型的转换
s = '12.3'
res=float(s)
res,type(res)
# (12.3, <class 'float'>)

 

4.字符串

当字典列表需要用括号括起来的转换成字符串后,其括号逗号也成为其一部分

1 # 类型转换
2 print(str(res), type(str(res)))
3 print(str(1.11), type(str(1.11)))
4 print(str('helloworld'), type(str('helloworld')))
5 # print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
6 print(str({'a': 1, 'b': 2}), type(str({'a': 1, 'b': 2})))
7 print(str((1, 2, 3)), type(str({'a': 1, 'b': 2})))
8 print(str(({1, 2, 3})), type(str({'a': 1, 'b': 2})))

 

一些关键字

11.字符串的内置办法

1.print( res[ -x ] )

读取res字符串中,从右边到x的位置的那个内容

 

2.print( res[ x : y :z])切片

依次读取res中从x+1开始到y的内容,且步长为z(z为正数时),类似range的原理类似,也可以省略步长,默认步长为1,其他情况如下

例:

1 print(res[0:])  #helloworld
2 print(res[2:])  #从第3个开始  冒号右边不写,一直切到结束
3 print(res[:6])  #hellow 冒号左边不写从0开始切
4 print(res[::3])  #lw 冒号左边不写从0开始切 3步一打印
5 print(res[::-1])  # res从左到右依次打印 dlrowolleh,翻转字符串其中一种方式

 

3.长度len

就是数某个变量中有多少个变量值    //字典一个 :算一个

例:

1 print(len(res))  # 93  
2 print(len([1, 2, 3, 4]))  # 4
3 print(len({'a':1, 'b':2}))  # 2

 

4.strip

移除字符串首尾的指定字符(默认移除空格)

例:

1 res1 = '@@hello@world@@'
2 print(res1)
3 print(res1.strip())  # 默认什么都不写,去掉的是空格
4 print(res1.lstrip())  # 去掉左边空格
5 print(res1.rstrip())  # 去掉右边的
6 
7 print(res1.strip('@'))
8 print(res1.lstrip('@'))
9 print(res1.rstrip('@'))  # 只能去除两边的特殊符号,中间的去不掉

 

5.split

按照某个符号或字切分字符串,什么都不写默认为空格

例:

1 res1 = 'kevin 18 123'
2 
3 print(res1.split())  # ['kevin', '18', '123']  默认是空格切分,切分之后是列表的形式
4 res1 = 'kevin|18|male'
5 print(res1.split('|'))  # ['kevin', '18', 'male']  默认是空格切分,切分之后是列表的形式
6 print(res1.rsplit('|', maxsplit=1))  # 切除从右边开始一个'|',如果数字是几就切几次

 

 

作业

 

https://sh.lianjia.com/ershoufang/pg1/
# 使用range函数,生成100个url地址

 

 

1 # https://sh.lianjia.com/ershoufang/pg/
2 # 使用range函数,生成100个url地址
3 for i in range(1, 101):
4     print("https://sh.lianjia.com/ershoufang/pg%s/" % i)

 

posted on 2023-05-18 20:48  菜CAIx  阅读(21)  评论(0编辑  收藏  举报