• for循环和字符串操作


    一、for循环基本介绍

      相同点:理论上for循环能做的事,while循环都可以做

      不同点:for循环在循环取值(便利循环)比while循环更加简洁。循环次数取决于in 后面包含的值的数量

      1.语法:  

    for 变量名 in 可迭代对象:#可迭代对象可以是:列表、字典、字符串、元组、集合
        代码1
        代码2
        代码3

      2.循环取值:

        列表:

    for x in ['name', 'age', 'money']:  # 循环几次根据可迭代对象中有几个字
        print(x)
    =========>
    name
    age
    money

        字典:

    dict ={'name' : 'ake', 'age':'18', 'money' :1232}
    for x in dict:  # 字典中取得是key,需要注意的是value如何取出来的!
        print(x,dict[x])
    ===============>
    name ake
    age 18
    money 1232

        字符串;

    a ="my name is jake!"
    for b in a :  #空格也会取到!!!
        print(b)
    ==============>
    m
    y
    
    n
    a
    m
    e
    
    i
    s
    
    j
    a
    k
    e

      3.for + range  # 控制循环的次数

        range 会自动生成一个列表,来表中的值的个数代表循环几次(顾头不顾尾)

    name = 'JAKE'  #for + break / for + else 和while一样 没有区别
    sercrt = 'asd'
    for a in range (3):
        inp_name = input('请输入你的账号:')
        inp_password = input('请输入你的密码:')
        if inp_name == name and inp_password == sercrt:
            print('登入成功')
            while True:
                amd = input('请输入你要进行的操作:')
                if amd == 'q':
                    break
                else:
                    print('命令{x}正在运行,'.format(x=amd))
            break
    else:
        print('请重新登入')

      4. for + continue

    for i in range(9):
        if i == 5:
            continue
        print(i)

      5.for 循环嵌套

        和while循环一样使用。

        for循环嵌套时外层循环一次,内层需要循环一遍。

        退出循环只能使break.

          print补充:

    print('name')
    print('jake')
    ===========
    # name
    # jake
    
    print('name
    ')  # 换行符
    print('jake')
    ===========
    # name
    
    # jake
    
    print('name',end=' ')  # 取消换行符
    print('jake')
    ============
    # name jake

    二、数据类型

        1.整形类型

          类型装换

    #整形
    res = int('2175') print(res,type(res))

          进制转换

    #进制转换
    print(bin(13))# 10=====>2     bin()
    print(oct(96))# 10=====>8     oct()
    print(hex(32))# 10======>16     hex()
    #反转
    print(int('0b1101',2)) #2====>10
    print(int('0o140',8)) #8====>10
    print(int('0x20',16)) #16====>10

        2.字符类型

          类型转换:

            str可以把其他类型转换成字符串

          内置方法:

          按索引正向取,反向取,中间取。(只能取不能改!)

    a ="my name is jake!"
    print(a[4])

          切片:根据索引,从大字符串中拷贝出来一个子字符串。

    a ="my name is jake!"
    b = a[3:7]
    print(a)
    print(b)
    ===========
    my name is jake!
    name

          步长:

    a ="875245405465874"
    b = a[0:15:2]  # 反向步长:b =a[15:0:-2]  全倒过来: b = a[::-1]
    print(b)
    =========
    875245405465874
    85445684

          移除左右两边的空白或者符号strip:

    a ="    875245405hgjf4    "
    b=a.strip()
    print(b)

          切分split:把一个字符串按照某种分隔符进行切分,得到一个列表。#默认分隔符是空格

    a ="87524;5405h,gjf4"
    b=a.split(';')
    print(b)
    =========
    ['87524', '5405h,gjf4']

        需要掌握:

    strip/lstrip/rstrip
    a ="******875245405hgj*****" b=a.rstrip('*')/a.lstrip('*') # 去除右边的"*"/去除左边的"*"
    print(b) ========= ******875245405hgj/875245405hgj*****
    a ="SDJGAJjkjkjkj"
    b=a.lower()  # 打印字符串所有字符都为小写
    b1=a.upper()  # 打印字符串所有字符都为大写
    print(b)
    print(b1)
    ===========
    sdjgajjkjkjkj
    SDJGAJJKJKJKJ
    a ="ABcSDJGAJjjkjkj009"
    b=a.startswith('AB')  # 字符串开头的字符为“AB”
    b1=a.endswith('009')  # 字符串结尾的字符为“009”
    print(b)
    print(b1)
    # ===========
    #True
    # True
    a ="ABC:080:jjkjkj009"
    b=a.split(':',1)
    b1=a.rsplit(':',1)
    print(b)
    print(b1)
    # ===========
    # ['ABC', '080:jjkjkj009']
    # ['ABC:080', 'jjkjkj009']
    a ="ABC,080,jjkjkj009"
    b="-".join(a)#使用某个符号把字符串内的拼接
    print(b)
    
    # ===========
    # A-B-C-,-0-8-0-,-j-j-k-j-k-j-0-0-9
    a ="name ash jajskc "
    b=a.replace('name','NAME')  # 把name转成大写的NAME
    print(b)
    
    # ===========
    # NAME ash jajskc 

              isdigit (判断字符串是否为整形)

    age = input('请输入你的名字升高身高:').strip()
    if age.isdigit():
        age = int(age)
        if age > 180 :
            print('你猜的太大了')
        elif age < 180:
            print('你猜的太小了')
        else:
            print('恭喜你,猜对了!')
    else:
        print('必须输入数字!')

               

  • 相关阅读:
    MySQL日期函数与日期转换格式化函数大全
    外设驱动库开发笔记19:BMP280压力温度传感器驱动
    外设驱动库开发笔记18:MS5837压力变送器驱动
    通讯接口应用笔记1:RS485通讯上下拉电阻的选择
    外设驱动库开发笔记17:MS5803压力变送器驱动
    外设驱动库开发笔记16:MS5536C压力变送器驱动
    Elasticserach学习笔记之Elasticsearch查询慢和集群慢查询日志配置
    Linux学习笔记之curl模拟get/post/delete/put请求
    ELK学习笔记之elasticsearch中 refresh 和flush区别
    Prometheus学习笔记之Prometheus是如何定义告警级别的
  • 原文地址:https://www.cnblogs.com/Holmes-98/p/14219186.html
Copyright © 2020-2023  润新知