day03笔记

今日内容

  1. 整型
  2. 布尔类型
  3. 字符串

详细内容

1.整型(int)

  • Py2

    • 32位电脑

    • 64位电脑

    • 超出范围后python将自动转换成long(长整型)

    • /运算不能显示小数—> (整形除法只能保留整数位)

      #脚本头部加上:即可显示小数
      from __future__ import division
      v=9/2
      print(v)
      
  • Py3

    • 只有int型

    • 整型除法只能保留所有

2.布尔值(boolen)

  • 只有两个值:True/False

  • 转换

    • 数字转布尔,0是false,其他都是true

    • 字符转bool, " "是false,其他都是true

3.字符串(str/string)

1.大小写转换
  • Value.upper() / value.lower()

    new_value=value.upper()
    print(new_value)
    #验证码
    check_code = "uuueY"
    mess = input("请输入验证码%s:"%(check_code,))
    if mess.lower() == check_code.lower():
       print("登陆成功")
    
    
2.判断字符串是否为数字:isdigit()
  • num.isdigit(): 判断是否是数字得到bool值

    #人工服务,只能输入数字
    num=input("请输入服务:“)
    flag=num.isdigit()
    #print(flag) "1"-->True "asdf"-->False
    if flag:
       num=int(num)
       print(num)
     else:
       print("请输入数字")
              
              
    --------------------------------
     #计算字符串中的数字多少个         
    str1="alellr838jdjje939"
    str_len=len(str1)
    index=0
    count=0
    while True:
       val=str1[index]
       flag=val.isdigit()
       # print(flag)
       if flag:
           count+=1
       index += 1
       if index==str_len:
           break
    print(count)
    
3.除空格:strip()
  • user.rstrip(): 去掉右边的空格

    user.lstrip(): 左边

    user.strip(): 去除两边的空白

4.替换关键字: replace("","",1)
  • mess.replace("被替换的字符/子序列“,”要替换的内容“,1)

mess="我来自南方"
data=mess.replace("南方“,”**“)
data=mess.replace("南方“,”**“,1)
print(data)
#从左到右找到第一个则替换    数字:表示替换几个
5.字符串切割:split(",",2)
  • mess.split("根据什么内容进行分割", "分割几次")
  • mess.rsplit("")
mess="床前明月光,疑是地上霜,举头王明月"
result=mess.split(" ,")
print(result)
#["床前明月光"," 疑是地上霜"," 举头王明月"]

result=messs.split(",",1)
print(result)
#只拆分一个
#["床前明月光"," 疑是地上霜,举头王明月"]

6.公共方法
  • len()

    num.len(value) :计算字符长度

value="test"
number=len(value)
print(number)
#4

  • 索引 arr[index]

    arr="oldboy"
    v1=arr[0]#从前往后取数据
    #o
    v2=arr[-1] #从后往前取数据 倒数第一个位置开始取
    #y
    
  • 切片: v[2:3] 2<=index<3 前开后闭

    v="oldboy"
    v1=v[2:3]    #2<=index<3
    print(v1)
    #d
    
    v1=v[3:6]/[3:]
    #boy
    
    v1=v[:-1]
    #从第一个位置开始到取数字 直到取到 倒数第一个位置
    #oldbo
    
    #取最后两个字符
    #方案一:
    data=input("请输入:")
    v=data[-2:] #从倒数第二个开始取
    print(v)
    
    方案二
    data_len=len(data)
    v=data[data_len-2:data_len]
    
  • 切片步长 : v[0,8,step]

    • step=2>0 :往右走两次 (隔一个一取) index0=index0+2
    • step=-2<0: 往左走 index1=index1-2
    • v[1,8]: 默认向右
    #通过对s切片形成字符串s5 = "ba2"
    #sequence[starting_index:ending_index:step]
    s = "123a4b5c"
    s6=s[-3:-8:-2]
    print(s6)
    '''
    
  • 修改,删除 (无)

注意:

​ 字符串没有 ""修改删除""方法

练习:split/strip()/isdigit

1.用户输入很多数字或者字母,相加(可能带空格,字母)

​ 5+9 +A+10+ 1 +99.。。。

val=input("请输入几个数相加:")
val=val.split("+")
for ele in val:
		item=ele.strip()#一定要除空格 不然带空格的数字字符串不会被识别为数字
		if item.isdigit():
			sum=sum+int(item)
print(sum)

2.将字符串反转

#2.val=name[1::2]#从1 到 正无穷 按照step=2向右边取值

#3.val=name[-1:0:-2]#从倒数第一个到0位置处,按照step=-2向左取值

#笔试题:将字符串反转
val=name[::-1]
print(val)