while循环细节

while循环细节or for循环


目录

  一、while+continue

    while 条件:

         条件成立之后循环执行的子代码块

# 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会让循环体代码直接回到条件判断处重新判断
"""

  二、while+else

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循环

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关键字

# 关键字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'''

  六、for+break

break功能也是用于结束本层循环
for i in range(10):
    if i == 4:
        break
    print(i)

  七、for+continue

continue功能也是用于结束本次循环
for i in range(10):
    if i == 4:
        continue
    print(i)

  八、for+else

else也是在for循环正常结束的情况下才会执行

for i in range(10):
    if i == 4:
        break
    print(i)
else:
    print('你追我!!!')

  九、for循环的嵌套使用

# 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']
    """如何查看数据类型都有哪些内置方法
        句点符(.)
    """    

 

 

posted @ 2021-11-05 17:37  Roseblacko  阅读(61)  评论(0编辑  收藏  举报