# 1.使用while循环打印出0-10
# count = 0
# while count < 11:
# print(count)
# count += 1
# 2.使用while循环打印出0-10但是不打印4
# 1.定义一个起始变量
count = 0
# 2.循环
while count < 11:
# 5.判断 如果count为4则不打印
if count == 4:
count += 1
# 跳过本次循环 开始下一次循环
continue
# 3.打印变量的值
print(count)
# 4.变量值自增1
count += 1
"""
continue会让循环体代码直接回到条件判断处重新判断
"""
count = 0
while count < 5:
print(count)
count += 1
else:
print('嘿嘿嘿') # 会执行else子代码
count = 0
while count < 5:
if count == 3:
break
print(count)
count += 1
else:
print('嘿嘿嘿') # 不会执行else子代码
"""
当while循环没有被人为中断(break)的情况下才会走else
"""
while True:
print(1)
"""死循环会让CPU极度繁忙 甚至奔溃"""
for循环能做到的事情 while循环都可以做到
但是for循环语法更加简洁 并且在循环取值问题上更加方便
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
# 循环取出列表的每一个元素并打印
# while实现
# count = 0
# while count < 5:
# print(name_list[count])
# count += 1
# for循环
for name in name_list:
print(name)
"""
for 变量名 in 可迭代对象: # 字符串、列表、字典、元组、集合
for循环体代码
ps:变量名如果没有合适的名称 那么可以使用i,j,k,v,item等
"""
# name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
# 循环取出列表的每一个元素并打印
# while实现
# count = 0
# while count < 5:
# print(name_list[count])
# count += 1
# for循环
# for name in name_list:
# print(name)
# for循环字符串
# for i in 'hello world':
# print(i)
# for循环字典:默认只能拿到k
d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
for k in d:
print(k, d[k])
# 关键字range
# 第一种:一个参数 从0开始 顾头不顾尾
# for i in range(10):
# print(i)
# 第二种:两个参数 自定义起始位置 顾头不顾尾
# for i in range(4, 10):
# print(i)
# 第三种:三个参数 第三个数字用来控制等差值
for i in range(2, 100, 10):
print(i)
# range在不同版本的解释器中 本质不同
在python2.X中range会直接生成一个列表
在python2.X中有一个xrange也是迭代器(老母猪)
在python3.X中range是一个迭代器(老母猪) 节省内存空间
'''python2.X中xrange就是python3.x里面的range'''
break功能也是用于结束本层循环
for i in range(10):
if i == 4:
break
print(i)
continue功能也是用于结束本次循环
for i in range(10):
if i == 4:
continue
print(i)
else也是在for循环正常结束的情况下才会执行
for i in range(10):
if i == 4:
break
print(i)
else:
print('你追我!!!')
# for i in range(3):
# for j in range(5):
# print("*", end='')
# print()
for i in range(1, 10):
for j in range(1, i + 1):
print('%s*%s=%s' % (i, j, i * j), end=' ')
print()
在日常生活中不同类型的数据具有不同的功能
eg:表格数据文件具有处理表格的各项功能(透视表 图形化 公式计算)
视频数据文件具有快进 加速等各项功能
...
# 1.整型int
# 方式在代码中展示出来的效果就是 名字()
# 类型转换
# res = '123'
# print(type(res))
# res = int(res)
# print(type(res))
'''int在做类型转换的时候 只能转换纯数字'''
# int('123.123') # 报错 不识别小数点
# int('jason123') # 报错 不识别除数字以外的数据
'''int其实还可以做进制数转换'''
print(bin(100)) # 将十进制的100转换成二进制 0b1100100
print(oct(100)) # 将十进制的100转换成八进制 0o144
print(hex(100)) # 将十进制的100转换成十六进制 0x64
# 0b开头为二进制数 0o开头为八进制数 0x开头为十六进制数
print(int('0b1100100', 2)) # 100
print(int('0o144', 8)) # 100
print(int('0x64', 16)) # 100
# 浮点型float
# 类型转换
res = '123.23'
# print(type(res))
# res = float(res)
# print(type(res))
print(float('123')) # 123.0
# 字符串str
# 类型转换
print(str(123))
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}))
# 基本用法
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()
# username = input('username>>>:').strip()
# if username == 'jason':
# print('老板好')
# else:
# print('去你妹的')
# 7.按照指定的字符切割字符串 split() 该方法的结果是一个列表
# res2 = 'jason|123|18'
# print(res2.split('|')) # ['jason', '123', '18']
# print(res2.split('|', maxsplit=1)) # ['jason', '123|18'] maxsplit用于控制切割的次数
# print(res2.rsplit('|', maxsplit=1)) # ['jason|123', '18']
"""如何查看数据类型都有哪些内置方法
句点符(.)
"""