while + else

1.while与else连用
当while没有被关键字break主动结束的情况下
正常结束循环体代码之后执行else的子代码
"""
while 条件:
循环体代码
else:
循环体代码正常结束运行 才会执行子代码块
"""
count = 1
while count < 10:
if count == 4:
count += 1
continue
print(count)
count += 1
else:
print('while循环寿终正寝了!!!')

死循环与while的嵌套

1.死循环有些时候会超级影响电脑性能 造成硬件的损坏
死循环就是会占用cup工作
count = 10
while True:
count *= 1
2.while嵌套
falg =
while flag:
username = input('username:')
password = input('password:')
if username == 'jason' and password == '123':
print('登陆成功')
while flag:
cmd = input('请输入你的指令:')
if cmd =='q':
print('下次再见')
flag = False
print('正在执行您的指令:%s' % cmd')
else:
print("用户名或密码错误")

for循环

"""
for循环可以做到的事情while循环都可以做到!!!
但是for循环语法更加简单 使用频率更高
"""
一般情况下涉及到循环取值的时候 都会考虑使用for循环而不是while循环
"""
语法结构
for 变量名 in for循环对象: # 字符串、列表、字典、元组、集合
for循环的循环体代码
每次执行都会将循环对象中的一个元素赋值给变量名 ps:针对for循环语法结构中的变量名 也应该做到见名知意
如果真的没有合适的名字可以使用常用的变量名i、j、k、v、num、item...
"""
name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar']
# # 使用while循环依次打印出列表中所有的元素
count = 0
while count < 5:
print(name_list[count])
count += 1
# # 使用for循环依次打印出列表中所有的元素
for name in name_list:
print(name)

# 循环字符串:依次取出每一个字符
for i in 'hello world':
print(i) # 循环字典(特殊):循环字典只能获取到字典的key value无法直接获取
userinfo_dict = {'username': "jason", 'age': 18, 'gender': 'male'}
for i in userinfo_dict:
print(i) # 循环元组
for i in (11, 22, 33, 44, 55):
print(i)
# 循环集合:字典与集合内部的元素都是无序的
for i in {11, 22, 33, 44, 55, 66}:
print(i)

range方法在python2和python3中有所区分
在python2中range是直接产生一个列表 元素很多的情况下比较占用空间
在python2中有一个xrange 其实就是python3里面的range
在python3中range相当于哆啦A梦的口袋 不占空间但是可以取出很多数据
在python3中就只有一个range了
# 循环打印0-100
# while循环
count = 0
while count < 101:
print(count)
count += 1
# for循环
for i in range(101): # 从0开始到100结束的数据集 顾头不顾尾
print(i)
"""range其实一个迭代器(后面讲) 用于产生一个数据集合 但是节省空间""" # 用法1 括号内只写一个数字 默认从0开始 顾头不顾尾
for i in range(5):
print(i)
# 用法2 括号内写两个数字 自定义起始位置 顾头不顾尾
for i in range(1, 5):
print(i)
# 用法3 括号内写三个数字 第三个数字表示的是等差数列的差值 默认情况下是1
for i in range(1, 5, 2):
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=
可以自己找一个具有多页数据的网址 研究url是否有规律
有一些网址分页是用的url
有一个使用的是内部js脚本(暂且忽略)
"""
# url_demo = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0, 250, 25):
real_url = url_demo % i
# 通过代码请求页面获取页面数据
# 然后根据业务需求筛选出特定的内容

for循环补充

1.for+break
break结束本层for循环
2.for+continue
continue结束本次for循环 直接开始下一次
3.for+else
for循环正常结束之后运行else子代码
"""与while一致""" # for循环的嵌套

如何查看数据类型的内置方法

可以借助于编程软件的自动提示 采用句点符快速查看

数据类型的内置方法

int整型
1.类型转换
2.进制数转换
# 类型转换
res = int('123') # 将int方法执行之后的结果赋值给变量res
print(res, type(res)) # int
"""int方法只能转换纯数字的字符串"""
# 将十进制转换成其他机制
print(bin(100)) # 0b1100100 二进制(0b开头)
print(oct(100)) # 0o144 八进制(0o开头)
print(hex(100)) # 0x64 十六机制(0x开头)
# 将其他机制转换成十进制
print(int('0b1100100', 2))
print(int('0o144', 8))
print(int('0x64', 16))
float浮点型
# 1.类型转换
res = float('11.11')
print(res, type(res)) # 11.11
res = float('11')
print(res, type(res)) # 11.0

字符串内置方法

1.类型转换
str可以转换所有基本数据类型
print(str(11), type(str(11)))
print(str(11.11), type(str(11.11)))
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
print(str({'name': 'jason'}), type(str({'name': 'jason'})))
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))
print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4})))
print(str(True), type(str(True))) s1 = 'hello world'
# 1.索引取值
print(s1[0])
# 2.切片操作
print(s1[2:4]) # 顾头不顾尾
# 3.步长
print(s1[2:9:1]) # 第三个参数是步长 默认是1 依次获取
print(s1[2:9:2]) # 间隔一个取一个
# 索引取切片扩展
print(s1[-1]) # 获取最好一个字符
print(s1[-1:-5:-1]) # dlro 第三个参数还可以控制索引的方向
print(s1[-5:-1]) # worl
# 4.统计字符串中字符的个数
print(len(s1)) # 11
# 5.成员运算
print('ll' in s1)
# 6.移除字符串首位指定的字符(使用频率较高)
name = ' jason '
print(len(name))
res = name.strip() # 默认移除字符串首尾的空格
print(res, len(res))
name1 = '$$$$jas$on$$$$'
print(name1.strip('$'))
username = input('username>>>>:').strip()
if username == 'jason':
print('我想去干饭了!!!')
# 7.按照指定的字符切割字符串
data = 'jason|123|DBJ'
print(data.split('|')) # ['jason', '123', 'DBJ']
name, pwd, hobby = data.split('|') # 解压赋值
print(data.split('|', maxsplit=1)) # ['jason', '123|DBJ']
print(data.rsplit('|', maxsplit=1)) # ['jason|123', 'DBJ']
"""split方法切割完字符串之后是一个列表"""

wlile、 for循环和基本数据类型及内置方法的更多相关文章

  1. while和for循环的补充与数据类型的内置方法(int, float, str)

    目录 while与for循环的补充 while + else 死循环 while的嵌套 for补充 range函数 break与continue与else for循环的嵌套 数据类型的内置方法 int ...

  2. if循环&数据类型的内置方法(上)

    目录 if循环&数据类型的内置方法 for循环 range关键字 for+break for+continue for+else for循环的嵌套使用 数据类型的内置方法 if循环&数 ...

  3. while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法

    今日内容 内容概要 while + else 使用 while死循环与while的嵌套 for循环基本使用 range关键字 for的循环补充(break.continue.else) for循环的嵌 ...

  4. python 入门基础4 --数据类型及内置方法

    今日目录: 零.解压赋值+for循环 一. 可变/不可变和有序/无序 二.基本数据类型及内置方法 1.整型 int 2.浮点型float 3.字符串类型 4.列表类型 三.后期补充内容 零.解压赋值+ ...

  5. Day 07 数据类型的内置方法[列表,元组,字典,集合]

    数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...

  6. day6 基本数据类型及内置方法

    day6 基本数据类型及内置方法 一.10进制转其他进制 1. 十进制转二进制 print(bin(11)) #0b1011 2. 十进制转八进制 print(hex(11)) #0o13 3. 十进 ...

  7. DAY05、基本数据类型与内置方法

    一.可变类型与不可变类型: 1.可变类型:值改变,但是id不变 2.不可变类型:值改变,id也改变 二.数据类型: 1.数字类型: 1.1:整型int: 用途:记录年龄.等级.数量 定义方式:age ...

  8. DAY5 基本数据类型及内置方法

    一.可变与不可变数据类型 1.可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型 二.数字类型 1.整型int ...

  9. python学习day7 数据类型及内置方法补充

    http://www.cnblogs.com/linhaifeng/articles/7133357.html#_label4 1.列表类型 用途:记录多个值(一般存放同属性的值) 定义方法 在[]内 ...

随机推荐

  1. SpirngMVC源码分析

    分析过程 通过 前端控制器源码 分析 SpringMVC 的执行过程 前端控制器在 web.xml 文件中的配置 <!-- springmvc 前端控制器 --> <servlet& ...

  2. 学习 Haproxy (一)

    haproxy是一个开源的.高性能的基于tcp和http应用代理的HA的.LB服务软件,它支持双机热备.HA.LB.虚拟主机.图形界面查看状态信息等功能,其配置简单.维护方便,而且后端RS的healt ...

  3. ArrayList跟LinkedList的区别

    ArrayList和LinkedList都是实现list接口,它们不同如下: ArrayList是基于索引的数据接口,底层是数组.它可以以O(1)时间复杂度对元素进行随机访问.与此相对,linkedL ...

  4. 运筹学之"概率"和"累计概率"和"谁随机数"

    概率 = 2/50 = 0.2 累计概率 = 上个概率加本次概率 案例1 概率=销量天数 / 天数 = 2 /100 = 0.02 累计概率 = 上个概率加本次概率 = 0.02 +0.03 = 0. ...

  5. C 语言中 include <> 与include "" 的区别?

    #include < > 引用的是编译器的类库路径里面的头文件. #include " " 引用的是你程序目录的相对路径中的头文件,如果在程序目录没有找到引用的头文件则 ...

  6. Bootstrap 之 Metronic 模板的学习之路 - (1)总览

    写在前面 bootstrap 的模板非常多,Envato 上有着各种各样的免费及付费模板.Metronic 是我最喜欢的模板之一(看一眼就喜欢上的那种),当前售价 $28 ,觉得赞的,不妨支持一下作者 ...

  7. H5的audio在ios系统的微信上不能自动播放的问题

    前几天有个需求,要在H5页面中添加背景音乐,本以为很easy,却也踩了一些坑,废话不多说,进入正题: 撸完代码测试的时候才发现在安卓手机上背景音乐可以正常播放,但在iphone里的微信和safari中 ...

  8. Ubuntu之安装Gradle

    简介 Gradle 是以 Groovy 语言为基础,面向Java应用为主,基于DSL(领域特定语言)语法的自动化构建工具. 现在Android Studio用它来编译APK程序. 前提 Ubuntu官 ...

  9. js知识梳理5:关于函数的要点梳理(1)

    写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出 ...

  10. 麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12

    前言   上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到从源码编译的Qt,所以本篇如何在银河麒麟系统V4上编译Qt5.12源码.   银河麒麟V4版本   系统版本:   Qt源码下载    ...