while循环补充、for循环、range关键字、内置方法之整型、内置方法之浮点型、内置方法之字符串

时间:2023-02-17 20:07:25

(1)、while+continue

  • 使用循环打印出0-9的数字
count = 0
while count < 10:
    print(count)
    count += 1
  • 打印0-10的数字不打印6
count=0
while count < 11:
    if count ==6:
        count+=1
        continue #
    print(count)
    count+=1

continue结束本次循环,并且回到while循环的条件处从新判断

(2)、while+else(了解)

# count=0
# while count < 10:
#     print(count)
#     count+=1
# else:
#     print('哈哈哈哈')

count=0
while count < 10:
    if count ==5:
        count+=1
        continue
    print(count)
    count+=1
else:
    print('哈哈哈哈')

当while循环没有被中断(break)的时候,就会执行

(3)、死循环

'''在程序中,可千万不能出现死循环'''
while True:
    print(100)
'''能用for循环实现的,都不要使用while循环'''

二、for循环

  • for循环也是循环结构的一种,但是和while不同的是,for循环并不会出现死循环,因此我们能够使用for循环实现的功能尽量不使用while

while循环补充、for循环、range关键字、内置方法之整型、内置方法之浮点型、内置方法之字符串

# 1. 使用while循环打印以下列表中得数据
name_list = ['kevin', 'tony', 'jack', 'tom']
# i=0
# while i<4:
#     print(name_list[i])
#     i+=1

for name in name_list:
    print(name)
    
"""
	语法格式:
        for 变量 in 可迭代对象:  字符串、列表、字典、元组
        	print(name)
"""

for i in 'helloworld':
    print(i)
PS:for后面的变量名命名的时候,如果没有特殊的含义,我们一般使用i,j,k,v,item等等


'''重点'''
d = {'username':'kevin', 'age':18, 'hobby':'music'}
for i in d:
    print(i, d[i])

range关键字

  • range可以简单的理解为是帮我们产生一个内部含有多个数字的数据,但是range方法顾头不顾尾,最后的结尾不取
# 配合for循环使用
第一种玩法:
for i in range(10) # 一个参数, 打印数字列表,从0开始
	print(i)

第二种玩法:
for i in range(4, 18):  # 顾头不顾尾
    print(i)

第三种玩法:
for i in range(2, 20, 3):# 起始数值,结束数值,间隔数值
    print(i)

# 拓展知识:
"""
推断:https://movie.douban.com/top250?start=0&filter=    第一页
	https://movie.douban.com/top250?start=25&filter=    第二页
	https://movie.douban.com/top250?start=50&filter=    第三页
	https://movie.douban.com/top250?start=75&filter=    第四页
	https://movie.douban.com/top250?start=100&filter=   第五页
	...
	
	https://movie.douban.com/top250?start=225&filter=   第十页
"""

url = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0,250,25):
    print(url % i)
    
'''小补充:range在不同解释器版本中是有区别的。'''

for+break

for i in range(10):
    if i == 3:
        break
    print(i)

for+continue

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

for+else

for i in range(10):
    if i == 3:
        break
    print(i)
else:
    print('哈哈哈哈')

for循环嵌套

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

三、数字类型内置方法

(1)、整型(int)

# 进制转换
print(bin(10))  # 0b1010
print(oct(10))  # 0o12
print(hex(10))  # 0xa

# 0b代表二进制  0o代表八进制  0x代表十六进制

print(int('0b1010', 2))
print(int('0o12', 8))
print(int('0xa', 16))

(2)、浮点型(float)

float方法可以把整型、特殊情况下的字符串变成float类型:

a = 11
b = '11.1'
c = '11.1.1'
print(float(a))
print(float(b))
print(float(c))
# 这里的话运行c的转换的时候会直接报错

while循环补充、for循环、range关键字、内置方法之整型、内置方法之浮点型、内置方法之字符串
注意:python对数字的运算其实并不敏感(精确),但是由于背后的大佬较多,我们可以使用模块进行精确计算

四、字符串str内置方法

类型转换(把其他类型转换成自己的类型)
字符串可以转换所有类型的数据值,从结果看就是在两边加上引号
索引取值

information = 'hello python'
print(information[0])

切片操作

# 升级版本:切片取值
information = 'Hello World'
print(information[6:])  # 从6取到结尾
print(information[:6])  # 取到第六个就结束,第六个不取
print(information[:])  # 取所有的值
print(information[-1:])  # 从后往前取,从后往前取的时候
print(information[-5:-1])  # 用负的位置坐标取值,需要小的在前大的在后
print(information[6:10])  # 从第六个开始,取到10,但是取不到10的位置,只能到九
print(information[6:10:2])  # 从第六个开始,取到10,但是取不到10的位置,并且两个字符取一次
print(information[10:6:-1])  # 从第10个开始,取到6,但是取不到6的位置,是从后往前取

统计字符串的长度(个数)
len:计算字符串长度或个数

# 计算长度的len
information = 'hello world'
print(len(information))

strip方法:删除首尾的内容
删除字符串首尾的空格,或是指定的字符。生活中主要使用在账号密码的输入中,可以减少错误

# 删除字符串首尾的空格
# information = '  hello world  '
# print(information.strip())

lstrip和rstrip:删除左侧或右侧字符的strip方法

# 左侧:lstrip
information = '  hello world  '
print(len(information))
print(information.lstrip())
print(len(information.lstrip()))

# 右侧:rstrip
information = '  hello world  '
print(information.rstrip())
print(len(information.rstrip()))

split方法:切块
split:删除指定的字符并从删除的位置把字符串变成列表中的一个个值

# split
information = 'hello world'
print(information.split(' '))
# 这里我们可以看到根据中间的空格把字符串分成了含有两个值的列表,并且空格被删掉了

format方法:格式化输出
format方法拥有和%s相似的功能,但是更为强大,也更方便

format方法有四种表现形式,如下:

表现形式一

插入占位的符号,输入占位符输入的值,不能多不能少

# format玩法1:等价于占位符
# res = 'my name is {} my age is {}'.format('jason', 123)
# print(res)
# format玩法2:索引取值并支持反复使用
# res = 'my name is {0} my age is {1} {0} {0} {1}'.format('jason', 123)
# print(res)
# format玩法3:占位符见名知意
# res = 'my name is {name1} my age is {age1} {name1} {age1} {name1} '.format(name1='jason', age1=123)
    # print(res)
    # format玩法4:推荐使用(******)
    name = input('username>>>:')
    age = input('age>>>:')
    res = f'my name is {name} my age is {age}'