一、while循环补充

(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

# 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方法起一个把输入的范围内,所有的整数都放到一个列表中的作用,但是rnage方法顾头不顾尾,最后的结尾不取
# 配合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的转换的时候会直接报错



注意: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方法有四种表现形式,如下:

表现形式一

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

# 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}'

最新文章

  1. webservice 接口通过 HTTP 获取数据
  2. Sql Server 2008卸载后再次安装一直报错
  3. 一个Java Dao测试用例
  4. poj3294 出现次数大于n/2 的公共子串
  5. HTML5学习之智能表单(二)
  6. Beautiful People 分类: Brush Mode 2014-10-01 14:33 100人阅读 评论(0) 收藏
  7. SQL Server表的数据量大小查询
  8. python学习笔记一--字符串
  9. chinacloud大数据新闻
  10. CSS3过渡效果实现菜单划出效果
  11. poj 3181 Dollar Dayz (整数划分问题---递归+DP)
  12. C#/vbscript/JS如何加密保护HTML/javascript源代码
  13. Java调度实现
  14. 《java入门第一季》之面向对象(static关键字)
  15. TestNG教程网站
  16. Redis单线程架构
  17. Jupyter-NoteBook-你应该知道的N个小技巧
  18. (1)编译安装lamp三部曲之apache-技术流ken
  19. gevent-协程用法
  20. Ubuntu下更改Python版本

热门文章

  1. 基于python的数学建模---传染病六个模型
  2. 基于Spring-AOP的自定义分片工具
  3. ATM项目详解
  4. Codeforces Round #835 (Div. 4) A-G
  5. 外部引入css样式报错Resource interpreted as Stylesheet but transferred with MIME type html/text
  6. Java的两大、三类代理模式
  7. Java 中 String 与 StringBuffer 和 StringBuilder 的区别
  8. Bootstrap响应式相关
  9. 【Java】各种数据类型的元素数量
  10. eclipse打不开maven项目中的pom.xml