Python day 03

时间:2021-07-15 23:45:21

dya 03

今日内容

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

补充

  1. 运算符补充

    • in

      value = '我是中国人'
      # 判断'中国'是否是value所代指的字符串的子序列。
      v1 = '中国' in value
      
      #示例1
      content = input('请输入内容:')
      if '赌博' in contont:
          print('包含敏感字符')
      
      #示例2
      while True:
          content = input('请输入内容')
          if '赌博' in content:
              print('包含敏感字符')
          else:
              print(content)
              break
    • not in

  2. pycharm 自动生成头部代码

    • File - Settings - Editor - File and Code Templates

    • 右边窗口选中 Python Script

    • 输入默认代码

      #! /user/bin/env python
      # -*- coding:utf-8 -*-

内容详细

1.整形(int)

  • python 2 (支持的整数长度)

    • int

      • 32位电脑::-2147483648~2147483647
      • 64位电脑:-9223372036854775808~9223372036854775807
      • 超出范围后python自动将其装换为long(长整型)
    • 整形除法只能保留整数位。

      # 如果python 2 需要输出浮点数,需要加入这个python 3 模块
      from _future_ import divison
      
      v = 9 / 2
      print(v)
  • python 3

    • int
      • 不管多长都是int
      • 整形除法能保留所有。

2.布尔值(bool/boolen)

  • 只有两个值:True/False
  • 转换
    • 数字转布尔:0是False,其他都是Turea
    • 字符串转布尔:''(空字符串)是False,其他都是True

3.字符串(str/string)

  • 字符串特有
    • .upper() / .lower()

      • .upper()
        • 将字符串转为全大写。
      • .lower()
        • 将字符串转为全小写。
      v1 = input('请输入字母:')
      # 输入ICDMxidDICnsIn
      v2 = v1.upper()
      # 字符串后加,会计算出字符串的结果,但不会改变字符串本身,所以需要把结果复制给另一个变量。
      print(V2)
      # 会输出所有字母的大写
      
      v1 = input('请输入字母:')
      v2 = v1.lower()
      print(v2)
      # 会输出所有字母的小写
      
      v1 = input('请输入字母:')
      print(v1.upper())
      # 因为会计算出结果,所以直接print也可以
    • .isdigit()

      • 判断字符串是否可以判断为int

        v1 = input('请输入内容:')
        flag = v1.isdigit()
        print(flag)
        # 如果输入的内容是纯整数,则输出True,否则输出False。同样不改变字符串本身,所以也需要赋值给一个变量。
    • .strip() / .lstrip() / .rstrip()

      • .strip()

        • 删除文本前后的空格部分

          v1 = '   123   '
          v2 = v1.strip()
          print('---->'+v2+'<----')
          # 这样输出得到的结果就是---->123<----
          
          ########### 小知识 ######
          # 在print中,我们可以同时输出多个字符串,并且用(, or +)分开,具体区别看下边。
          
          print('ABC','DEF','GHI')
          # 那我们得到的结果是
          # ABC DEF GHI
          
          print('ABC'+'DEF'+'GHI')
          # 得到的结果是
          # ABCDEFGHI
          
          #!!!!!!!!#
          #注意 + 用于int会变成计算。
          
          print(123+456)
          # 我们得到的结果就是
          # 579
          
      • .lstrip()

        • 这个就是只去除字符串左边的空格
      • .rstrip()

        • 这个就是只去除字符串右边的空格
    • .replace("被替换的字符/子序列","要替换为的内容") / .replace("被替换的字符/子序列","要替换为的内容", 1)

    • .split('根据什么东西进行分割') / .split('根据什么东西进行分割', 1 ) / rsplit

  • 公共
    • len ,计算长度。 (字符串->计算字符串中的字符个数)

    • 索引取值(0作为开始)

      v = "glacier"
      v1 = v[0] # 0 1 2 3 ... 从前向后
      v2 = v[-1] # -1 -2 -3 ...从后向前
      # 那么输出的结果是什么呢?自己试试看!
    • 切片(0作为开始)

      • 怎么用?看下面例子打出来看看。
      v = "glacier"
      v1 = v[2:4] # 2 =< 索引位置 <3
      v2 = v[3:6] # v2别放一起,一条一条试哦。
      v2 = v[3:-1]
      v2 = v[3:]
      v2 = v[:-1]
      print(v2)
      # 示例: 取最后两个字符
      data = input('请输入:')
      # 方式一
      v = data[-2:]
      print(v)
      # 方式二
      total_len = len(data)
      v = data[total_len-2:total_len]
      print(v)

练习题

"""
需求:让用户输入任意字符串,获取字符串之后并计算其中有多少个数字。
"""
total = 0
text = input('请输入内容:') # ads2kjf5adja453421sdfsdf
index_len = len(text)
index = 0
while True:
val = text[index]
# 判断val是否是数字
# - 是数字:total + 1
# - 不是:继续玩下走,执行下一次循环去检查下一个字符。
flag = val.isdigit()
if flag:
total = total + 1 # total += 1
if index == index_len - 1:
break
index += 1
print(total)