• 数字类型内置运算,和字符内置运算


    5.7自我总结

    1.数字类型内置方法(省略数字类型定义,作用,基本运算)

    1.数字类型定义,作用,基本运算

    https://www.cnblogs.com/pythonywy/p/10797559.html详细的内容,还有些不足地方下面链接中有说明

    https://www.cnblogs.com/pythonywy/p/10800876.html补充说明

    2.无内置运算

    3.一个值或者多个值

    一个值

    4.有序或者无序

    数字类型为一个值,也不存在索引,所以不存在有序或者无序的这种说法

    5.可变或不可变

    a = 1
    print(di(a))
    8791457161872
    a += 1
    print(id(a))
    8791457161904
    他们值变了,地址也发生了变化说以为不可变	
    

    2.字符串类型内置方法(省略数字类型定义,作用,基本运算)

    1.数字类型定义,作用,基本运算

    https://www.cnblogs.com/pythonywy/p/10797559.html详细的内容,还有些不足地方下面链接中有说明

    https://www.cnblogs.com/pythonywy/p/10800876.html补充说明

    2.运算

    1.必须掌握

    a)按索引取值
    a = 'yang'
    #取其中的y
    print(a[0])
    y
    
    b)切片
    切片工具为[头:尾:步(取值的方向)]#如果头,尾不输入默认为最前面,和最后面,步如果步输入贼默认为1
    name = 'yang wen yi'
    	   #012345678910
    #用切片工具取其中的yang wen yi
    print(name[:])
    #用切片工具取其中的wen
    print(name[5:8]) # 顾头不顾尾
    print(name[-6:-3])#这里正数或者负数代表的是字符串中数据的位置,正为从左往右数,负为从右往左数。
    #用切片工具取其中的yn
    print(name[:3:2])
    #用切片工具取其中的iy
    print(name[:-3:-1])
    print(name[10:8:-1]) #这里的-1代表从右往左切,如果这里的-1为1则是从左往右切
    
    
    c)长度len
    name = 'yang'
    print(len(name))
    
    d)成员运算in/not in
    表示判断什么东西里有没有什么,表示判断
    name = 'yang'
    print('y' in name)
    True
    
    e)移除strip
    name1 = '     yan          '
    name2 = 'a    yan            a'
    print(name1.strip())
    #yang
    print(name2.strip())
    #'a    yan            a'
    #strip只移除两端的
    
    f)切分split
    name = 'yang,wen,yi'
    #按照,把名字切分成3个
    print(name.split(',',2))
    #['yang', 'wen', 'yi']
    #按照,把名字切分成2个
    print(name.split(',',2))
    #['yang', 'wen,yi']   默认是从左往右
    
    g)循环
    name = 'yangwneyi'
    
    for i in name:
        print(i)
    '''
    y
    a
    n
    g
    w
    e
    n
    y
    i
    '''
    

    2.掌握

    a)lstrip&rstrip
    #lstrip左端清除  记忆(l=left左,strip清楚)
    name = '     yang'
    print(name.lstrip())
    #yang
    #rstrip左端清除 记忆(r=rightt右,strip清除)
    
    b)lower&upper
    #LOWER(小写)
    name = 'yang WEN'
    print(name.lower())
    #yang wen #将字符串中的大写变成小写
    #upper
    name = 'yang WEN'
    print(name.upper())
    #YANG WEN #将字符串中小写变成大写
    
    c)startswith&endswith
    # startswith
    name = 'yang WEN'
    print(name.startswith('yang'))
    #True      #内容从前往后找
    print(name.endswith('WEN'))
    #True
    printprint(name.endswith('NEW'))
    #False    #内容从后往前找但是内容是从左往右读写的
    
    d)rsplit

    与split类似,但是切割方向从右往左切割

    e)join
    #JOIN用于字符串的拼接
    name = 'yang,wen,yi'
    print(' '.join(name))
    #y a n g , w e n , y i
    #如果是列表
    name_list = ['yang','wen','yi']
    print(''.join(name_list))
    #yangwenyi
    补充纯数字不能拼接
    
    f)replace
    #replace(替换)
    name = 'yang wen yi'
    print(name.replace('yang','wen'))
    #wen wen yi
    
    g)isdigit
    salary = '111'
    print(salary.isdigit())
    #True
    salary = '111.1'
    print(salary.isdigit())
    #False
    #是否为整列,第一个是,第二个不是
    

    3.了解

    a)find|rfind|index|rindex|count
    # str之find()、rfind()、index()、rindex()、count()
    name = 'yang wen yi'
    print(name.find('yang'))
    # 0        
    print(name.find('wen'))
    #5                        find如果找到结果,则输出为该内容的第一个字符的索引,他找不到会报错
    rfind就是从右边开始找结果都是一样的就是开头和找的方向不一样
    index找的也是索引与find区别在于他没找会报错
    count,找到内容输出为1,找不到内容输入为0
    
    b)center|ljust|rjust|zfill
    # str之center()、ljust()、rjust()、zfill()
    print(f"'info nick'.center(50,'*'): {'info nick'.center(50,'*')}")
    ********************info nick*********************  #内容中间,填充两侧
    print(f"'info nick'.ljust(50,'*'): {'info nick'.ljust(50,'*')}")
    info nick*****************************************  #内容左边,填充右边
    print(f"'info nick'.rjust(50,'*'): {'info nick'.rjust(50,'*')}")
    *****************************************info nick   #内容右边边,填充左边
    print(f"'info nick'.zfill(50): {'info nick'.zfill(50)}")  
     00000000000000000000000000000000000000000info nick     # 默认用0填充
    
    
    c)expandtabs
    # str之expandtabs()
    print(f"a\tb\tc: %s"%('a	b	c	'))  # 默认制表符8个空格
    print(f"'a\tb\tc'.expandtabs(32): %s"%('a	b	c	'.expandtabs(32)))
    #主要是用来修改	,输出占位符的个数
    
    d)captalize|swapcase|title
    # str之captalize()、swapcase()、title()
    
    captalize()#首字母大写
     swapcase()# 大小写互转
    title()#每个字母首字母大写
    
    f)is系列

    .is数字系列(只是为了告诉你,判断是否为数字时除了中文数字以后使用isdigit()即可)

    • isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。
    • isdigit(): 如果字符串只包含数字则返回True,否则返回False。
    • isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。

    今日题目

    1. 写代码,有如下变量name = " aleX",请按照要求实现每个功能:

      1. 移除 name 变量对应的值两边的空格,并输出处理结果

        print(name.strip(' '))
        
      2. 判断 name 变量对应的值是否以 "al" 开头,并输出结果

        print(name.startswith('al'))
        
      3. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果

        print(name.endswith('X'))
        
      4. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果

        print(name.replace('l','p'))
        
      5. 将 name 变量对应的值根据 “l” 分割,并输出结果。

        print(name.split('l'))
        
      6. 将 name 变量对应的值变大写,并输出结果

        print(name.upper())
        
      7. 将 name 变量对应的值变小写,并输出结果

        print(name.lower())
        
      8. 请输出 name 变量对应的值的第 2 个字符?

        print(name[1])
        
      9. 请输出 name 变量对应的值的前 3 个字符?

        print(name[:3])
        
      10. 请输出 name 变量对应的值的后 2 个字符?

        print(name[-2:])
        
      11. 请输出 name 变量对应的值中 “e” 所在索引位置?

        print(name.index('e'))
        
      12. 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo

        for new_name in name:
            if new_name != name[-1]:
                print(new_name,end='')
        
    2. 编写猜年龄游戏,有以下要求:

      1. 如果3次没有猜对,可以选择继续玩或退出(自定义退出条件)
      2. 可能会有用户会在输入年龄之后再次输入空白,如18 ,请做处理
      3. 可能会有用户会恶意输入导致程序报错,如逗你玩呀,请做处理
    age = 18
    num = 0
    chance = 3
    while num < chance:
        ipt_age = input('请输入您的年龄:')
        ipt_age = ipt_age.replace(' ','')
        if not ipt_age.isdigit() :
            print('别乱输入,你这混蛋,请输入数字!!')
            continue
        int_ipt_age = int(ipt_age)
        if int_ipt_age == age:
            print('正确')
            break
        elif int_ipt_age > age:
            print('大了')
        else:
            print('小了')
        num += 1
        if num == 3:
            yes_or_no = input("输入'y'为继续游戏,输入其他任何东西为退出游戏")
            if yes_or_no == 'y'  :
                num = 0
            else:
                print('游戏结束,拜拜')
    
  • 相关阅读:
    High availability: Oracle RAC vs. RAC One Node vs. Data Guard
    ORACLE 12C RAC修改ocr/votedisk/asm spfile所在磁盘组名称
    Oracle性能排查小案例
    Oracle技术支持是如何分析数据库性能问题的
    【翻译】19C Oracle 安装指导
    Install Grid Infrastructure 12c On Standalone Server
    Linux平台oracle 11g单实例 + ASM存储 安装部署
    HOW TO USE ORACLE RESTART IN ORACLE 11GR2
    单机安装Oracle RAC (zt)
    flink on yarn启动失败
  • 原文地址:https://www.cnblogs.com/pythonywy/p/10827528.html
Copyright © 2020-2023  润新知